在Python中編寫單元測試可以使用標準庫中的unittest模塊。
1、unittest 模塊
主要使用unittest.TestCase類。繼承該類,編寫成員方法作爲測試用例。類成員方法(測試用例)名以test作爲前綴。
import unittest
class TestCls(unittest.TestCase):
def test_method1(self):
...
def test_method2(self):
...
2、測試環境的準備及清理
每個unittest類均可利用setUp、tearDown方法實現測試執行前後的設置跟清理,這兩個方法會在測試執行前後自動調用。
class TestCls(unittest.TestCase):
def setUp(self):
"""準備測試環境"""
...
def tearDown(self):
"""清理測試環境"""
...
3、使用斷言判斷測試結果
1) 使用assert判斷True/False
def test_method1(self):
a = 2
b = 3
c = a + b
assert c==5, '%d != %d' % (c, 5)
2) assertEqual
def test_method2(self):
a = 2
b = 3
c = a + b
self.assertEqual(c, 5)
4、執行unittest
調用unittest.main()執行unittest, 代碼如下:
import unittest
class TestCls(unittest.TestCase):
def setUp(self):
pass
def test_method1(self):
a = 2
b = 3
c = a + b
assert c==5, '%d != %d' % (c, 5)
def test_method2(self):
a = 2
b = 3
c = a + b
self.assertEqual(c, 5)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
使用python執行測試程序即可。