2014-04-30 223 views
1

很多标准库不使用类名,您如何从命令行运行单个测试用例或将其添加到测试套件?如何在Python单元测试中运行单个测试

类似的问题在这里问,但所有的解决方案假设测试用例驻留在具有有效类名的文件中。

Running single test from unittest.TestCase via command line

+0

“所有解决方案都假定测试用例驻留在具有有效类名的文件中”,这是因为这是使用python unittest设置测试的正常方法。如果你没有这样做,那么你应该解释你的测试是如何构建的,用一个简单的例子,可以运行,在你的问题 – Vorsprung

+0

我正在看test_math.py – evilzero

回答

1

简单的方式,安装nosetest

nosetests -mtestAcosh /home/jamie/Downloads/Python-2.6.5/Lib/test/test_math.py 

复杂的方式,加载测试文件作为一个模块,然后用ARGS运行unittest.main

PYTHONPATH=/home/jamie/Downloads/Python-2.6.5/Lib/test python -c'from test_math import MathTests 
import unittest 
unittest.main(None,None,["","test_math.MathTests.testAcosh"]) 
' 

test_math的版本.py我碰巧没有unittest.main()在其中 编写简单单元测试文件的常用方法是添加

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

时,这是单元测试文件是如何设置为在这个答案描述通常可以做到,那么运行单独的测试

Running single test from unittest.TestCase via command line

即,只要给“testClassName.test_iwanttorun”作为命令行arg