import module
from x import X
class A:
def method():
return module.something(arg=X())
我创建了以下单元测试:
with patch('filename.module.something') as something_mock:
with patch('filename.X'): as x_mock:
a.method()
something_mock.assert_called_once_with(arg=x_mock.return_value)
x_mock.assert_called_once_with()
有人提到没有必要在没有解释的情况下嘲笑filenme.X
。有没有其他方法来验证对something
的调用而不模拟filename.X
?如何更改以下断言以验证调用?你知道吗
something_mock.assert_called_once_with(arg=_____)
如果create
X
不是一个问题(即db连接或网络访问),那么您可以在不模拟它的情况下进行测试。你知道吗您有以下选择:
something_mock
,请使用mock
的called
属性something_mock
是否通过arg
关键字arg调用了^{something_mock
调用参数,并按calls as tuple提取arg
值第一个是
第二个是
最后是第三个
最后一个选项与mock
X
完全相同,但我编写它只是为了展示所有的可能性。你知道吗相关问题 更多 >
编程相关推荐