将需要系统参数的Python脚本导入单元测试

时间:2016-07-22 03:01:55

标签: python python-2.7 unit-testing python-unittest

我有一个Python文件,我们称之为script1.py。我正在尝试编写一个名为script1_test.py的单元测试(使用unittest)。 script1旨在从命令行调用并接受许多参数。运行脚本1时,它以:

开始
if __name__ == "__main__" and len(sys.argv) == 6:
    func1()
else
   print "Wrong number of arguments"
   sys.exit(1)

我只是想在script1中执行并测试一个函数(这里称为func1)  独立于代码的主体。但是当我这样做时,我会在导入阶段继续从main命中sys.exit。如何在不遇到此错误的情况下运行测试?

1 个答案:

答案 0 :(得分:1)

当您导入脚本时,"scripts": { "precompile": "init.ps1" } 不等于main,因此您正在调用__name__块。相反,您应该嵌套else块:

if