假设我有一个包含以下内容的模块:
def main():
pass
if __name__ == "__main__":
main()
我想为下半部分编写一个单元测试(我想实现100% 的覆盖率)。我发现了执行导入/__name__
设置机制的 Runpy内置模块,但是我不知道如何模拟或检查 主()函数是否被调用。
这是我目前为止尝试过的方法:
import runpy
import mock
@mock.patch('foobar.main')
def test_main(self, main):
runpy.run_module('foobar', run_name='__main__')
main.assert_called_once_with()