如何在Python unittest中运行单个测试
很多标准库并没有使用类名,那怎么从命令行运行一个单独的测试案例或者把它加到测试套件里呢?
这里有个类似的问题,不过所有的解决方案都假设测试案例是在一个有有效类名的文件里。
1 个回答
2
简单的方法是安装 nosetest
nosetests -mtestAcosh /home/jamie/Downloads/Python-2.6.5/Lib/test/test_math.py
复杂的方法是把测试文件当作一个模块加载,然后用参数运行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()这个东西。通常写简单的unittest文件时,可以添加
if __name__ == '__main__':
unittest.main()
当unittest文件这样设置时,通常可以按照这个回答中的描述来运行单个测试
通过命令行运行unittest.TestCase中的单个测试
也就是说,只需要在命令行参数中给出 "testClassName.test_iwanttorun" 就可以了