python之unittest添加整个测试类执行
如果我们的测试用例比较多的话,测试套件对象通过addTest一个一个添加比较麻烦,可以通过添加一个类的方法,
去执行这个类里面的所有测试方法
套件对象.addTest(unittest.makeSuite(测试类名))
import unittest
# 引入测试用例
from demo1 import TestDemo
from demo2 import TestDemo2
# 实例化套件对象
suite = unittest.TestSuite()
# 套件对象添加测试用例
suite.addTest(unittest.makeSuite(TestDemo))
suite.addTest(unittest.makeSuite(TestDemo2))
# 实例化执行对象,执行测试套件
runer = unittest.TextTestRunner()
# 执行
runer.run(suite)
查看测试用例执行结果
下面的点表示测试用例的执行结果。
. 表示用例通过。F 表示用例不通过 E 表示用例代码错误
TestLoader 测试加载
作用和testSuite是一样的,也是用来组装测试用例的。
他可以指定目录和文件加载执行,适用于测试用例比较多的场景。
代码总结:
unittest.TestLoader().discover(‘用例所在目录’,‘用例代码名称*.py’)
代码示例:
import unittest
suite = unittest.TestLoader().discover('.','demo*.py')
runner = unittest.TextTestRunner()
runner.run(suite)
TestLoader和TestSuite的对比总结
TestSuite
优点:灵活,方便控制加载要执行的测试用例。
缺点:需要手动一个一个添加测试用例,比较繁琐。
TestLoader
优点:可以自动搜索加载满足条件的测试用例
缺点:不够灵活,不方便具体控制某个要执行的测试用例。