19.unittest原理
Posted yangyangchunchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19.unittest原理相关的知识,希望对你有一定的参考价值。
单元测试
单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的
被测功能模块。
单元测试框架
TestCase: 测试用例类
此类的一个实例,就是一个测试用例。
一个完整的测试用例包括: 包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。
TestSuite:测试套件类
对多个测试用例的整合到一起,打包进行测试,就用到了TestSuite
实例化一个TestSuite对象,可以添加上多个测试用例。
TestLoader: 测试用例加载类
加载TestCase实例(即测试用例)到TestSuite实例中,
所以,这个类里面有很多加载的方法,例如:几个loadTestsFrom__()方法
TextTestRunner:测试用例运行类
实例化出此类的一个对象,然后把TestSuite实例做为参与传进去,就可以运行测试了
TextTestResult: 测试用例结果类
TextTestRunner的运行结果保存在TextTestResult中,
包括运行了多少测试用例,成功了多少,失败了多少等信息
fixture:
对一个测试用例环境的搭建和销毁,是一个fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。
(1)比如说在这个测试用例中需要访问数据库,那么可以在setUp()中建立数据库连接以及进行一些初始化,在tearDown()中清除在数据库中产生的数据,然后关闭连接。注意tearDown的过程很重要,要为以后的TestCase留下一个干净的环境。
(2)关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大,以后会介绍到。
总结:
(1)最终主程序先执行哪个类、是按照这个类的名字字母、以及数据排序的
(2)最终,先运行哪个方法,是按照某类中,方法的名字、数字排序的
(3)主程序中先加载哪个方法,或者后加载哪个方法,在unittests运行的模式下,没有任何作用
(4)只有当使用普通模式下运行这个程序,才会按照顺序去执行。
以上是关于19.unittest原理的主要内容,如果未能解决你的问题,请参考以下文章