您可以patch()
用作类装饰器,而不仅可以用作函数装饰器。然后,您可以像以前一样传递模拟函数:
@patch('mymodule.someClass')
class MyTest(TestCase):
def test_one(self, MockSomeClass):
self.assertIs(mymodule.someClass, MockSomeClass)
请参阅:将相同的补丁程序应用于每种测试方法(还列出了替代方法)
如果要对所有测试方法进行修补,则在setUp上以这种方式设置修补程序更有意义。