TestLoader:
作用:与TestSuite 的作用是一样的,是对TestSuite 功能的补充,用来组装测试用例的
比如:如果Testcase 的代码文件有很多,(10 ,20,30 )
使用步骤:
1.导包
2.实例化测试加载对象并添加用例—>得到的是suite对象
3.实例化运行对象
4.运行对象执行套件对象
代码:
提示:在一个项目中 TestCase(测试用例)的代码,一般放在一个单独的目录 (case)
# 1、导包
import unittest
# 2、实例化加载对象并添加用例
# 格式:unittest.TestLoader( ).discover('用例所在的路径','用例的代码文件名')
# 注意:用例所在的路径,建议使用相对路径,用例的代码文件名可以使用*(任意多个任意字符)通配符
loader = unittest.TestLoader().discover('./case', 'test_login.py')
# 3、实例化运行对象
runner = unittest.TextTestRunner()
# 4、执行
runner.run(loader)
Fixture(测试夹具)
概念:是一种代码结构,在某些特定的情况下,会自动执行
方法级别和类级别的前后方法根据需要选择,没有要求同时出现,可单独使用
方法级别
在每个测试方法(用例代码)执行前后都会自动调用的代码结构
setup():在每个方法执行之前都会自动执行pass
def setup(self):
pass
teardown():在每个测试方法执行之前后会执行pass
def teardown(self):
pass
类级别
在每个测试类中所有方法执行前后都会自动调用的结构。类级别的Fixture方法,是一个类方法
def setupClass(cls):在类中所有方法之前执行
@classmethod
def setupClass(cls):
pass
def teardownClass(cls):在类中所有方法之后执行
@classmethod
def teardownClass(cls):
pass
模块级别
在每个代码文件执行前后执行的代码结构,模块级别的需要写在类的外边直接定义函数即可
def setupModule() :代码文件之前执行
def setupModule() :
pass
def teardownModule():代码文件之后执行
def teardownModule():
pass
举例:
class TestLogin(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print("类先执行这个方法,再执行下面的用例")
def setUp(self) -> None:
print("先执行这个方法再执行测试用例")
def tearDown(self) -> None:
print("先执行测试用例再执行方法")
def test_lie(self):
print("测试用例")
@classmethod
def tearDownClass(cls) -> None:
print("类测试用例执行完了,最后执行这个方法")
结果:
版权声明:本文为blue_ttt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。