unittest框架拥有支持自动化测试、测试用例间共享setUp(实现测试前的初始化工作)和shutDown(实现测试结束后的清理工作)代码块,集合所有的测试用例并且将测试结果独立展示在报告框架中的特性,在一组测试中,通过unittest框架提供的类很容易支持它的这些特性。
一、unittest框架的四个重要概念
- test fixture(测试固件)
一个test fixture代表一个或多个测试执行前的准备动作和测试结束后的清理动作,例如:创建数据库连接、启动服务进程、测试环境的清理或者关闭数据库连接等
2.test case(测试用例)
一个test case就是一个最小的测试单元,也就是一个完整的测试流程。针对一组特殊的输入进行特殊的验证与响应。通过继承unittest提供的测试基类(TestCase),可以创建新的测试用例。
3.test suite(测试套件)
一个test suite就是一组测试用例,一组测试套件或者两者共同组成的集合。他的作用是将测试用例集合到一起,然后依次执行集合中所有的测试用例。
4.test runner(测试运行器)
一个test runner 由执行设定的测试用例和将测试结果提供给用户两部分功能组成。
二、单元测试加载方法
在单元测试框架中,提供了两种单元测试的加载方法:
(1)直接通过unittest.main()方法加载单元测试的测试模块,这是一种最简单的加载方法,所有的测试方法执行顺序都是按照方法名的字符串表示的ASCII码升序排序
(2)将所有的单元测试用例(Test Case)添加到测试套件(Test Suit)集合中,然后一次性加载所有的测试对象