1. 程式人生 > >python-zx筆記9-單元測試

python-zx筆記9-單元測試

一個 執行 main loader strong pan 失敗 init ret

unittest核心

1.TestCase

一個TestCase的實例就是一個測試用例。什麽是測試用例呢?就是一個完整的測試流程,包括測試前準備環境的搭建(setUp),執行測試代碼(run),以及測試後環境的還原(tearDown)。元測試(unit test)的本質也就在這裏,一個測試用例是一個完整的測試單元,通過運行這個測試單元,可以對某一個問題進行驗證。

2.TestSuite

而多個測試用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuiteTestLoader是用來加載TestCaseTestSuite中的,其中有幾個loadTestsFrom__()

方法,就是從各個地方尋找TestCase,創建它們的實例,然後addTestSuite中,再返回一個TestSuite實例。

3.TextTestRunner

TextTestRunner是來執行測試用例的,其中的run(test)會執行TestSuite/TestCase中的run(result)方法。 測試的結果會保存到TextTestResult實例中,包括運行了多少測試用例,成功了多少,失敗了多少等信息。

4.Fixture

而對一個測試用例環境的搭建和銷毀,是一個fixture

//calculator.py

class Math:
    def __init__(self,a,b):
        self.a 
= int(a) self.b = int(b) def add(self): return self.a + self.b def jian(self): return self.a - self.b

單元測試

 1 from calculator import Math
 2 import unittest
 3 
 4 class TestMath(unittest.TestCase):
 5     def setUp(self):
 6         print("Start test")
 7 
 8     def
test_add(self): 9 j = Math(5,10) 10 self.assertEqual(j.add(),15) 11 # self.assertEqual(j.add(),12) 12 13 def tearDown(self): 14 print("test end") 15 16 if __name__==__main__: 17 #構造測試集 18 suite = unittest.TestSuite() 19 suite.addTest(TestMath("test_add")) 20 21 #執行測試 22 runner = unittest.TextTestRunner() 23 runner.run(suite)

python-zx筆記9-單元測試