【发布时间】:2020-12-09 22:49:43
【问题描述】:
B/moduleB.py 定义为:
def text_function():
raise KeyError
text_function()
ModuleA.py 定义为:
from B.moduleB import text_function
class a():
def __init__(self):
self.text = 'abc'
def mul(self, a, b):
print(text_function() + str(a*b))
if __name__ == "__main__":
rom = a()
rom.mul(2, 3)
这是单元测试test_module.py:
from unittest.mock import MagicMock, patch
from moduleA import a
class TestmoduleA(unittest.TestCase):
def setUp(self):
pass
def test_mul(self):
print(a.mul)
self.assertTrue(True)
现在,有没有办法在从 moduleA 导入时模拟 B/moduleB.py 中的 text_function,这样我就看不到 KeyError?
基本上,我不希望在测试模块A 时从模块B 运行任何东西
提前致谢:)
【问题讨论】:
标签: python mocking python-unittest