测试框架unittest.TestSuite()测试套的运行原理
import requests
import unittest
class unit_test_3(unittest.TestCase):
def setUp(self):
print(44)
def test_1_register(self):
print(1)
def test_2_login(self):
print(2)
def tearDown(self):
print(55)
if __name__ == '__main__':
#创建测试套件对象
suite1 = unittest.TestSuite()
#把测试用例加进测试套件
suite1.addTest(unit_test_3("test_1_register"))
#声明框架的运行对象
runner = unittest.TextTestRunner()
#runner对象调用run方法,执行测试套件
runner.run(suite1)
先执行setup,再执行测试套中加进去的一个或多个用例,按照add方法加进去的顺序执行,最后执行teardown
出现问题:
执行会发现,执行了所有的测试用例,而不是只执行了测试套件里加进去的“test_1_register”
因为在执行的时候,用的是unittests
因为一开始用
if __name__ == '__main__':
unittest.main()
的方式调试过,所以一直按照原来的方式运行,在原来的unittests框架里
修改执行配置:
在右上角运行按钮的,左边,点击进行修改运行模式
这里是原来的执行文件:
点击左侧的“+”,添加python内容,添加一个单独的python内容
把想要执行的文件加进去
修改名字,这里创建了一个独立的执行py文件,点击ok保存
回到python文件,点击运行,即可
两处运行的不同