单个添加case到TestSuite中,来执行测试
# TestSuite控制用例的执行
# 导入框架
importunittest
# 导入测试方法类
fromtest_mathsimportTestMaths
# 执行测试的流程处理
if__name__=='__main__':
# 按照一定的顺序来执行测试用例
# 实例化一个TestSuite
suite=unittest.TestSuite()
# 将用例单个添加进入到TestSuite中
suite.addTest(TestMaths("test_multiss"))
suite.addTest(TestMaths("test_add"))
# 按照定义好的顺序执行测试
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
执行结果如下,先执行第一个case再执行第二个case,这就是单个添加进入到TestSuite中按添加顺序执行测试
TestLoader的应用
写法一
# TestSuite控制用例的执行
# 导入框架
importunittest
# 导入测试方法类
fromtest_mathsimportTestMaths
# 执行测试的流程处理
if__name__=='__main__':
# 按照一定的顺序来执行测试用例
# 实例化一个TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromName(),传入'模块名.TestCase名'
# TestLoader用来加载TestCase到TestSuite中,loadTestsFrom_()方法,是从各个地方查找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例
suite.addTests(unittest.TestLoader().loadTestsFromName('test_maths.TestMaths'))
# 执行测试,TestLoader的方法是无法对case进行排序的
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
执行结果如下,TestMaths中所有函数都执行了测试,但是是无顺序的
写法二
# TestSuite控制用例的执行
# 导入框架
importunittest
# 导入测试方法类
fromtest_mathsimportTestMaths
# 执行测试的流程处理
if__name__=='__main__':
# 按照一定的顺序来执行测试用例
# 实例化一个TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromName(),传入'模块名.TestCase名'
# TestLoader用来加载TestCase到TestSuite中,loadTestsFrom_()方法,是从各个地方查找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例
# loadTestsFromNames()跟loadTestsFromNames()是相同的功能,只不过它接收的是字符串列表
suite.addTests(unittest.TestLoader().loadTestsFromNames(['test_maths.TestMaths']))
# 执行测试,TestLoader的方法是无法对case进行排序的
runner = unittest.TextTestRunner()
runner.run(suite)
返回的结果如下图,TestMaths中所有函数都执行了测试,但是是无顺序的
写法三
# TestSuite控制用例的执行
# 导入框架
importunittest
# 导入测试方法类
fromtest_mathsimportTestMaths
# 执行测试的流程处理
if__name__=='__main__':
# 按照一定的顺序来执行测试用例
# 实例化一个TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromTestCase()获取其中的所有测试方法
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMaths))
# 执行测试,TestLoader的方法是无法对case进行排序的
runner = unittest.TextTestRunner()
runner.run(suite)
返回的结果如下图,TestMaths中所有函数都执行了测试,但是是无顺序的
网友评论