Python unittest主要方法干扰我脚本的主要方法

时间:2016-03-08 15:17:54

标签: python unit-testing scripting main

我有一个主要方法(if __name__ == '__main__':等)的脚本,我正在尝试使用unittest进行测试,而the basic example建议将unittest_main()放在main方法中。它似乎压倒了我以前用main方法做的任何事情。例如,脚本过去采用的任何参数现在都被汇集到unittest。有什么提示吗?

1 个答案:

答案 0 :(得分:1)

使您的脚本成为模块周围的薄包装器:

import mymodule

if __name__ == "__main__":
    mymodule.main()

脚本现在不需要单元测试(或者更确切地说,它需要的是模拟mymodule并确认它调用mymodule.main()),并且所有可测试逻辑都在一个模块中不能作为脚本运行。