用例编写规则
用例前置与后置条件
断言
测试报告
失败重跑机制
参数化
用例分类执行
如果不好看,可以看下面表格:
总体来说,unittest用例格式复杂,兼容性无,插件少,二次开发方便。pytest更加方便快捷,用例格式简单,可以执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。pytest插件丰富,比如flask插件,可用于用例出错重跑,还有xdist插件,可用于设备并行执行,效率更高。
实例演示 讲了七大区别,总要演示一下具体实例,用事实说话。
前后置区别 这里抽用例前置与后置的区别来讲,先看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()
运行结果:
从结果上得知, 三个方法的逻辑优先级: setUp()&tearDown() < setUpClass()&tearDownClass() < setUpModule()&tearDownModule()
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
来这里,成为51Testing签约原创作者!