引言:
Test Suite:相当于存储Case的容器
Test Runner:相当于是执行这个容器
新建一个python file—名称:mytestrunner
![这里写图片描述](https://img-blog.csdn.net/20171105215016290?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3VzaHVhaTE1MDgzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
代码:
#导入我们需要引入的测试用例(case)的文件名称
import unittestdemo
import unittest
#调用unitest的TestSuite方法
#mysuite=unittest.TestSuite
#添加测试用例(即case),需要我们case的全路径,即python file名称.类名("函数名")
#mysuite.addTest(unittestdemo.MyTestCase("testLoginIsOk"))
#添加测试用例(即case),需要我们case的全路径,即python file名称.类名("函数名")
#mysuite.addTest(unittestdemo.MyTestCase("testLoginIsFailure"))
#如果我们需要直接执行整个类下的所有测试用例,那么可以换一种执行方式替代上述的方式
#即unittest.TestLoader().loadTestsFromTestCase后面传入一个类的路径即可
cases=unittest.TestLoader().loadTestsFromTestCase(unittestdemo.MyTestCase)
#如果上述cases不止一个,即我们执行的类希望是多个,比如还有一个cases222=unittest.TestLoader().loadTestsFromTestCase(unittestdemo.MyTestCase)
#那么接下来参数就是mysuite=unittest.TestSuite([cases,cases222]),即不同的case之间以逗号隔开
mysuite=unittest.TestSuite([cases])
#如果我们执行完上述后发现又需要同步执行某个类下的某一个Case(但不执行整个类的Case),只需要
#即添加了之后我们执行除了MyTestCase下的两个Case外,还会执行下面的"testLoginIsFailure"Case
mysuite.addTest(unittestdemo.MyTestCase("testLoginIsFailure"))
#使用Test Runner来执行Test Suite打包的Case
#verbosity=2代表打印的日志级别
myrunner=unittest.TextTestRunner(verbosity=2)
myrunner.run(mysuite)