unittest框架-测试用例管理
新增用例管理
前面是针对单个add方法来进行单元测试,如果需要对多个方法来进行测试,该如何处理?如新增一个Sub方法来进行单元测试验证。(蓝色是新增的sub方法)
我们需要同时对add和sub方法进行单元测试。那么我们需要针对新的sub方法,新增一个class作为TestCase。
测试结果如下:
用例公共部分合并
在这个示例中,每个测试类都有SetUp()和tearDown()方法,而且两个方法内容都是一样的,用于打印开始和结束提示语句,是否可以合并在一起呢?
单独定义一个父类Test_StarEnd()放置SetUp()和tearDown()方法。Test_StarEnd()继承unnitest.TestCase。再定义测试add和sub方法的类,继承父类Test_StarEnd()。因为父类Test_StarEnd()继承了unnitest,因此子类Test_add()和Test_sub也可以用unittest中的断言方法。
最后运行测试用例的时候,也更为简洁了:
用例执行顺序
执行顺序规则:根据测试类或测试方法的数字与字母顺序0-9, A-Z执行的
那么如何按照自定义的顺序执行呢?
可以用如下方式控制:
测试用例综合框架管理
前面测试用例与执行都是写在一个文件,当测试用例不断增加的时候,用例的执行和管理变得非常麻烦。因此需要对用例根据具体的功能模块来管理。
案例:
Test_Project 文件目录下包含4个python文件:
- I--StartEnd.py SetUp和TearDown管理
- I--calculatory.py 加减法运算方法的实现
- I--test_add.py 加法测试用例
- I--test_sub.py 减法测试用例
- I--runtest.py 用例执行管理
calculatory.py 加减法运算方法的实现
StartEnd.py SetUp和TearDown管理
test_add.py 加法测试用例
test_sub.py 减法测试用例
runtest.py 用例执行管理