假设我有这些模块:
a.py
class C:
...
b.py
from a import C
...
def foo():
c = C()
...
...
现在我想为模块b
编写一个测试
test_b.py
import unittest
import mockito
from b import foo
class TestB(unittest.TestCase):
def test_foo():
actual = foo()
...
我希望在测试期间“控制”foo()
的行为,并且我希望在test_foo()
运行期间,用自定义行为替换在foo()
内创建C()
时,它不是“真实的”C
类,而是模拟类
我怎样才能做到这一点
您必须将
import b
分配到test_b.py
中,然后将模拟类分配给b.C
,如下所示:您可以使用
unittest.mock.patch
:相关问题 更多 >
编程相关推荐