標籤:筆記 sel ini 構造 tar 就是 body == 一個
unittest核心要素
1.TestCase
一個TestCase的執行個體就是一個測試案例。什麼是測試案例呢?就是一個完整的測試流程,包括測試前準備環境的搭建(setUp),執行測試代碼(run),以及測試後環境的還原(tearDown)。元測試(unit test)的本質也就在這裡,一個測試案例是一個完整的測試單元,通過運行這個測試單元,可以對某一個問題進行驗證。
2.TestSuite
而多個測試案例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。 TestLoader是用來載入TestCase到TestSuite中的,其中有幾個loadTestsFrom__()方法,就是從各個地方尋找TestCase,建立它們的執行個體,然後add到TestSuite中,再返回一個TestSuite執行個體。
3.TextTestRunner
TextTestRunner是來執行測試案例的,其中的run(test)會執行TestSuite/TestCase中的run(result)方法。 測試的結果會儲存到TextTestResult執行個體中,包括運行了多少測試案例,成功了多少,失敗了多少等資訊。
4.Fixture
而對一個測試案例環境的搭建和銷毀,是一個fixture。
//calculator.pyclass 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-單元測試