あなたのテスト結果にケース名を印刷します.

3642 ワード

テストケース名の印刷


前回の記事では、直接実行した結果は友好的ではないことを示しています.テストに成功した結果は以下の通りです.
...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
[Finished in 0.1s]

简単で、成功して1つの点を表示して、成功しないで1つのFを表示して、しかしテストケースがいったん多くなったら、私达はどのように効率的に间违ったテストケースを位置決めして、私达はテストケースを印刷して、先に効果を上げることができます
testDel (__main__.testNum) ... ok
testHello (__main__.testNum) ... ok
testSum (__main__.testNum) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
[Finished in 0.1s]

どうですか、この結果はもっとクールで、もっとはっきりしていると思いますか.ただ、main()関数を直接実行する方法を変えて実行します.コードは以下の通りです.
if __name__ == '__main__':
    # unittest.main()
    suite = unittest.TestLoader().loadTestsFromTestCase(testNum)
    unittest.TextTestRunner(verbosity=3).run(suite)

この機能は実はunittestが持っている機能で、本稿で使用するすべてのテストコードは以下の通りです.
# -*- coding: utf-8 -*-
import unittest
def sumnum(a,b):
    return a + b
def delnum(a,b):
    return a - b
def hello():
    return "hello world"
class testNum(unittest.TestCase):
    def testSum(self):
        self.assertEqual(2,sumnum(1,1))
    def testDel(self):
        self.assertEqual(0,delnum(1,1))
    def testHello(self):
        self.assertEqual("hello world",hello())
if __name__ == '__main__':
    # unittest.main()
    suite = unittest.TestLoader().loadTestsFromTestCase(testNum)
    unittest.TextTestRunner(verbosity=3).run(suite)