[英]Python unittest report passed test
您好,我在“ test.py”下有一個類似於以下的測試模塊:
class TestBasic(unittest.TestCase):
def setUp(self):
# set up in here
class TestA(TestBasic):
def test_one(self):
self.assertEqual(1,1)
def test_two(self):
self.assertEqual(2,1)
if __name__ == "__main__":
unittest.main()
這工作得很好,但是我需要一種打印通過哪個測試的方法,例如,我可以將輸出打印到控制台:
test_one: PASSED
test_two: FAILED
現在,我可以在self.assertEqual()之后添加一條打印語句,這將是通過的測試,我可以只打印它,但是我需要從其他模塊運行測試,比如說“ test_reporter.py ”中我有這樣的內容:
import test
suite = unittest.TestLoader().loadTestsFromModule(test)
results = unittest.TextTestRunner(verbosity=0).run(suite)
此時的結果是我生成報告時。
所以歡迎任何建議
謝謝 !!
就像提到的Corey的注釋一樣,如果設置verbosity=2
unittest將打印每次測試運行的結果。
results = unittest.TextTestRunner(verbosity=2).run(suite)
如果您想要更多的靈活性-並且可能是由於您正在創建套件並使用測試運行程序-我建議您看看Twisted Trial 。 它擴展了Python的unittest
模塊,並提供了更多的斷言和報告功能。
編寫測試將是完全一樣的(除了將twisted.trial.unittest.TestCase與python的unittest子類化),因此您的工作流不會改變。 您仍然可以使用TestLoader
但可以使用更多TestReporter的選項http://twistedmatrix.com/documents/11.1.0/api/twisted.trial.reporter.html 。
例如,默認的TestReporter是TreeReporter
,它返回以下輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.