簡體   English   中英

Python unittest報告通過測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM