定义单个或者多个测试所需的环境准备(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 --- 模块运行结束时 ,运行一次 ---