[英]Python Unittest: make sure patched class is called
I have the following code 我有以下代码
@ddt
@patch('mymodule.myclass', MagicMock)
class MyTest():
@data([val1, val2])
@unpack
def test_run(self, val1, val2):
ClassA().run(val1, val2)
How Do I assert some methods inside mymodule.myclass
are called? 我如何断言
mymodule.myclass
内部的某些方法被调用?
When you patch it at the class level you get a reference to the mock as an argument in your test methods, for instance: 在类级别对其进行修补时,您会在测试方法中获得对模拟的引用作为参数,例如:
@ddt
@patch('mymodule.myclass', MagicMock)
class MyTest():
@data([val1, val2])
@unpack
def test_run(self, val1, val2, my_class_mock):
# use my_class_mock
You can use this mock for many purposes but in this case you'd still need to patch your class inside the test method to make your assertions. 您可以将此模拟程序用于许多目的,但在这种情况下,您仍然需要在测试方法中修补类以进行断言。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.