文章目录
前言
用例编写规则不同
用例前置与后置条件不同
断言功能不同
测试报告
失败重跑机制
参数化
用例分类执行
Unittest 前后置示例
import unittest
class TestFixtures01(unittest.TestCase):
# 所有用例执行前执行
def setUp(self) -> None:
print("setUp开始")
def tearDown(self) -> None:
print("tearDown结束")
# 每条用例执行前执行
@classmethod
def setUpClass(cls) -> None:
print("setUpClass开始")
@classmethod
def tearDownClass(cls) -> None:
print("tearDownClass结束")
# 测试用例
def test_001(self):
print("测试用例001")
class TestFixtures02(unittest.TestCase):
def test_002(self):
print("测试类2")
# 每个模块执行前执行
def setUpModule():
"""
在所有测试类在调用之前会被执行一次,函数名是固定写法,会被unittest框架自动识别
"""
print('集成测试 >>>>>>>>>>>>>>开始')
def tearDownModule():
print("集成测试 >>>>>>>>>>>>>>结束")
if __name__ == '__main__':
unittest.main()
Pytest 前后置示例
def setup_module():
print('\n整个模块 前 只运行一次')
def teardown_module():
print('\n整个模块 后 只运行一次')
def setup_function():
print('\n不在类中的函数,每个用例 前 只运行一次')
def teardown_function():
print('\n不在类中的函数,每个用例 后 只运行一次')
def test_ab():
b = 2
assert b < 3
def test_aba():
b = 2
assert b < 3
class Test_api():
def setup_class(self):
print('\n此类用例 前 只执行一次')
def teardown_class(self):
print('\n此类用例 后 只执行一次')
def setup_method(self):
print('\n此类每个用例 前 只执行一次')
def teardown_method(self):
print('\n此类每个用例 后 执行一次')
def test_aa(self):
a = 1
print('\n我是用例:a') # pytest -s 显示打印内容
assert a > 0
def test_b(self):
b = 2
assert b < 3