我正在阅读this example的create_autospec创建的模拟。
在该示例中,作者使用方法bar
创建了一个名为Foo的类,该类返回pass
然后他继续演示create_autospec
BetterMockFoo = mock.create_autospec(Foo)
foo = BetterMockFoo()
foo.bar()
这将返回以下内容
<MagicMock name='mock().bar()' id='17171792'>
我不明白您为什么要这么做。这种方法会产生什么价值?
答案 0 :(得分:0)
您所包含的三行代码仅演示了一条快乐的路-如果调用模拟对象的bar
方法,它不会失败,正如预期的那样。返回值无关紧要。
如果要调用foo.baz()
,它将被炸掉,因为模拟的类Foo
没有该方法。