我有一段代码需要通过 pytest 进行测试
def my_function(value):
with some_generator() as gen:
gen.some_method(value)
我需要检查 some_method 是否已被调用。我曾经pytest-mock
模拟 some_generator 方法以返回 aMagicMock
并使用该对象来检查该方法是否被调用。但它返回错误。我分配的返回值也没有反映到some_method
def test_myfunction(mocker):
generator = mocker.patch('some_generator')
mocked_obj = mock.MagicMock()
generator.return_value = mocked_obj
my_function(1)
assert mocked_obj.some_method.called
即使gen.some_method(value)
调用了,测试也总是失败。