unittest 原理

参考:
hackerain博文:http://blog.csdn.net/hackerain/article/details/24095117
官方文档:https://docs.python.org/3.6/library/unittest.html

unittest介绍:
unittest 单元测试框架,防jUnit写出来的,在其他语言中,也有类似的单元测试框架。
要深入理解unittest框架,就要先搞明白它下面的几个概念:
test fixture, test case, test suite, test runner
unittest原理:
unittest 原理_第1张图片
unittest原理图

TestCase: 测试用例类

此类的一个实例,就是一个测试用例。
一个完整的测试用例包括: 包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。

TestSuite:测试套件类

对多个测试用例的整合到一起,打包进行测试,就用到了TestSuite
实例化一个TestSuite对象,可以添加上多个测试用例。

TestLoader: 测试用例加载类

加载TestCase实例(即测试用例)到TestSuite实例中,
所以,这个类里面有很多加载的方法,例如:几个loadTestsFrom__()方法

TextTestRunner:测试用例运行类

实例化出此类的一个对象,然后把TestSuite实例做为参与传进去,就可以运行测试了

TextTestResult: 测试用例结果类

TextTestRunner的运行结果保存在TextTestResult中,
包括运行了多少测试用例,成功了多少,失败了多少等信息

PS:对一个测试用例环境的搭建和销毁,是一个fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现
关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大,大家有时间,可以研究下

unittest的原理大概就是这些,想了解更多,可查看官方文档 或 原码

你可能感兴趣的:(unittest 原理)