好的,我知道手册
中提到了这一点,并且可能与和/或有关,但是一个简单直接的示例将极大地帮助我。 side_effect
return_value
我有:
class ClassToPatch():
def __init__(self, *args):
_do_some_init_stuff()
def some_func():
_do_stuff()
class UUT():
def __init__(self, *args)
resource_1 = ClassToPatch()
resource_2 = ClassToPatch()
现在,我想对这个UUT
类进行单元测试,并模拟ClassToPatch
. 知道UUT
该类将恰好实例化两个ClassToPatch
对象,我希望 Mock 框架为每个实例化返回一个新的 Mock 对象,这样我以后就可以分别断言对每个对象的调用。
如何@patch
在测试用例中使用装饰器来实现这一点?即,如何修复以下代码示例?
class TestCase1(unittest.TestCase):
@patch('classToPatch.ClassToPatch',autospec=True)
def test_1(self,mock1,mock2):
_assert_stuff()