一、unittest工作原理
unittest最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixture
TestCase:用户自定义的测试case的基类,调用run()方法,会依次调用setUp方法、执行用例的方法、tearDown方法。
TestSuite:测试用例集合,可以通过addTest()方法手动增加Test Case,也可以通过TestLoader自动添加Test Case,TestLoader在添加用例时,会没有顺序。
TestRunner:运行测试用例的驱动类,可以执行TestCase,也可以执行TestSuite,执行后TestCase和TestSuite会自动管理TESTResult。
TestFixture:简单来说就是做一些测试过程中需要准备的东西,比如创建临时的数据库,文件和目录等,其中setUp()和setDown()是最常用的方法
整个的流程就是首先要写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TestTestRunner来运行TestSuite,运行的结果保存在TextTestReusult中,整个过程集成在unittest.main模块中。
二、unittest的初级使用
1.步骤
1)导入unittest模块,被测文件或者其中的类
2)创建一个测试类,被继承unittest.TestCase
3)重写setUp和tearDown方法(如果有初始化条件和结束条件)
4)定义测试函数,函数名以test_开头。测试用例
5)在函数体中使用断言来判断测试结果是否符合预期结果
6)调用unittset.main()方法运行测试用例--------无此方法也是可以运行
2.设置setup和teardown:每次用例执行前都会执行初始化条件和结束条件(如下代码可以看到,两个测试用例执行了两次)
import unittest class Test_Math(unittest.TestCase): #每执行一个用例,都会执行setup()和teardown()方法 #如果跑所有用例,只运行一次前提条件和结束条件。则用setupclass()和