补丁装饰器 - 没有参数的副作用

Patch Decorator - side effect with no parameter to function

我想装饰我的测试以修补特定功能。我对将模拟对象作为函数的参数不感兴趣。 在此示例中,我希望能够省略 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

我正在使用 python 2.7

我能够通过指定补丁的 new 参数并为其分配一个已经设置了 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