文章目录

前言
用例编写规则不同

用例前置与后置条件不同

断言功能不同

测试报告

失败重跑机制

参数化

用例分类执行

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')
assert a > 0
def test_b(self):
b = 2
assert b < 3

总结