如何从python脚本运行python文件中的所有测试?

时间:2016-03-16 17:30:17

标签: python unit-testing continuous-integration nose

如何从脚本中的python文件运行所有测试(unittest.TestCase)?

我尝试使用鼻子,但似乎总是运行测试发现。 我想要的只是导入一个模块,给一些函数一个路径并获得测试结果,任何建议?

1 个答案:

答案 0 :(得分:6)

在测试脚本的底部放

if __name__ == '__main__':
    unittest.main()

然后只需正常调用您的文件

$ python my_test_script.py

或者,如果您要使用nosepytest,您只需为其指定要运行的脚本的名称,它仍会执行发现,但仅限于该文件。

$ nosetests my_test_script.py

$ py.test my_test_script.py

如果您在python中运行鼻子,可以使用nose.run()

<强> my_script.py

import nose
nose.run()

默认情况下,它将使用您传递给脚本的参数,因此如果您只想运行单个test_script

$ python my_script.py /path/to/test_script.py

或者,您可以直接在脚本中传递参数

nose.run(argv=[__file__, '/path/to/test_script'])