eld*_*evy 4 python patch python-2.7
我想装饰我的测试来修补特定的功能。我对将模拟对象作为函数的参数不感兴趣。在此示例中,我希望能够省略mock_my_foo参数:
def my_foo(self):
print "My side_effect"
class SampleTest(TestCase):
@patch('some_module.foo', side_effect=my_foo)
def test_something(self, mock_my_foo):
pass
Run Code Online (Sandbox Code Playgroud)
我正在使用 python 2.7
我可以通过指定newpatch 的参数并为其分配一个已设置 side_effect 的模拟对象来完成此操作:
def my_foo(self):
print "My side_effect"
class SampleTest(TestCase):
@patch('some_module.foo', new=Mock(side_effect=my_foo))
def test_something(self):
pass
Run Code Online (Sandbox Code Playgroud)