一、 为什么我用了pytest后就会喜欢上它
- pytest的框架规范更自由
在使用unittest编写测试用例的时候,需要遵循先创建testclass,测试类继承unittest.TestCase的固定格式。例如:
而pytest不需要,可以直接写def test_XXX()即可,写法是python原生。
二、setUp与tearDown(pytest中的fixture)个人觉得fixture更灵活
对应unittest下的setUp与tearDown,pytest中的fixture显然更加灵活。
可以任意自定义方法函数,只要加上@pytest.fixture()这个装饰器,那么被装饰的方法就可以被使用,如图所示的,为当test_login_success执行结束后,执行退出。fixture的详细使用,会在后面单独拿出来讲。
三、pytest的参数化用起来也更方便
pytest可以更好的参数化,如图所示测试登录失败的场景,这里即是4条测试用例。
四、pytest第三方插件非常丰富
pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)等。这里就不细说了,有需要的话下次再单独说,附上地址:
https://pypi.org/