Pytest使用介绍
unittest vs pytest
item | unittest | pytest |
---|---|---|
用例编写规则 | 1.测试文件必须先import unittest 2.测试类必须继承unittest.TestCase 3.测试方法必须以”test_”开头 4.测试类必须要有unittest.main()方法 |
1.测试文件名必须以”test_”开头或者”_test”结尾(如:test_ab.py) 2.测试方法必须以”test_”开头 3.测试类命名以”Test”开头 |
用例分类执行 | 默认执行全部用例,也可以通过加载testsuit,执行部分用例。 | 可以通过@pytest.mark来标记类和方法,pytest.main加入参数(“-m”)可以只运行标记的类和方法 |
用例前置和后置 | 提供了setUp/tearDown,只能针对所有case | pytest中的fixture显示更加灵活。可以任意自定义方法函数,只要加上@pytest.fixture()这个装饰器,那么被装饰的方法就可以被使用 |
参数化 | 需要依赖ddt库 | 使用@pytest.mark.parametrize装饰器 |
断言 | 很多断言格式 1.assertEqual 2.assertln 3.assertTrue 4.assertFalse |
只有assert一个表达式,用起来比较方便 |
报告 | 使用HTMLTestRunnerNew库 | 有pytest-HTML,allure插件 |
失败重跑 | 无此功能 | pytest支持用例执行失败重跑,pytest-rerunfailures插件 |
Pytest使用介绍
https://skynetboys.github.io/2022/01/18/Pytest使用介绍/