定義單個或者多個測試所需的環境準備(setUp),以及環境清理(tearDown)。git
例:鏈接數據庫,或者建立Selenium WebDriver driver實例github
test_example_one.py數據庫
# encoding:utf8 import unittest class TestCaseOne(unittest.TestCase): def setUp(self): print('---每一個用例運行前執行---') def tearDown(self): print('---每一個用例運行結束後執行---') def test_case_one(self): print('--- 測試用例 1 ---') def test_case_two(self): print('--- 測試用例 2---') if __name__ == '__main__': unittest.main(verbosity=2)
運行結果測試
test_case_one (__main__.TestCaseOne) ... ---每一個用例運行前執行--- --- 測試用例 1 --- ---每一個用例運行結束後執行--- ok test_case_two (__main__.TestCaseOne) ... ---每一個用例運行前執行--- --- 測試用例 2--- ---每一個用例運行結束後執行--- ok
test_example_two.pycode
# encoding:utf8 import unittest class TestCaseOne(unittest.TestCase): @classmethod def setUpClass(cls): print('---每一個測試類裏,執行一次,在全部用例運行前執行---') @classmethod def tearDownClass(cls): print('---每一個測試類裏,執行一次,在全部用例運行後執行---') def test_case_one(self): print('--- 測試用例 1 ---') def test_case_two(self): print('--- 測試用例 2---') if __name__ == '__main__': unittest.main(verbosity=2)
運行結果three
---每一個測試類裏,執行一次,在全部用例運行前執行--- test_case_one (__main__.TestCaseOne) ... --- 測試用例 1 --- ok test_case_two (__main__.TestCaseOne) ... --- 測試用例 2--- ok ---每一個測試類裏,執行一次,在全部用例運行後執---
test_example_three.pyget
# encoding:utf8 import unittest def setUpModule(): print('--- 模塊運行開始時 ,運行一次 ---') def tearDownModule(): print('--- 模塊運行結束時 ,運行一次 ---') class TestCaseOne(unittest.TestCase): def test_case_one(self): print('--- 測試用例 1 ---') def test_case_two(self): print('--- 測試用例 2---') class TestCaseTwo(unittest.TestCase): def test_case_three(self): print('--- 測試用例 3 ---') def test_case_four(self): print('--- 測試用例 4---') if __name__ == '__main__': unittest.main(verbosity=2)
運行結果源碼
--- 模塊運行開始時 ,運行一次 --- test_case_one (__main__.TestCaseOne) ... --- 測試用例 1 --- ok test_case_two (__main__.TestCaseOne) ... --- 測試用例 2--- ok test_case_four (__main__.TestCaseTwo) ... --- 測試用例 4--- ok test_case_three (__main__.TestCaseTwo) ... --- 測試用例 3 --- ok --- 模塊運行結束時 ,運行一次 ---