如何在python类中模拟变量?
我有一个Python类,我试图在单元测试中模拟某个变量。 我的Python类摘录:如何在python类中模拟变量?,python,python-3.x,subprocess,python-unittest,Python,Python 3.x,Subprocess,Python Unittest,我有一个Python类,我试图在单元测试中模拟某个变量。 我的Python类摘录: class something: def __init__(self): self._commandline = 'dir' def run_function(self): pass 在我的单元测试中,我试图将类变量_commandline设置为类似dirx的值,这样当我调用使用subprocess.run的run_函数时,它将失败并抛出subprocess.C
class something:
def __init__(self):
self._commandline = 'dir'
def run_function(self):
pass
在我的单元测试中,我试图将类变量_commandline设置为类似dirx的值,这样当我调用使用subprocess.run的run_函数时,它将失败并抛出subprocess.CalledProcessError,以便我可以测试我的断言
这是我第一次做TDD,如果有更好的方法,请提供建议。
提前谢谢 只需重新分配_命令行变量即可
例如
something.py:
分类:
定义初始自我:
self.\u命令行='dir'
def run_功能自身:
printself.\u命令行
通过
test_something.py:
导入单元测试
从某物进口某物
类TestSomethingunittest.TestCase:
def测试运行功能自身:
实例=某物
实例。_命令行='dirx'
instance.run_函数
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
unittest.main
测试结果:
dirx
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK