如何在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

我有一个Python类,我试图在单元测试中模拟某个变量。 我的Python类摘录:

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