2014-04-30 221 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