【pytest】(二) pytest与unittest的比较

简介: 【pytest】(二) pytest与unittest的比较

一、 为什么我用了pytest后就会喜欢上它


  1. pytest的框架规范更自由


在使用unittest编写测试用例的时候,需要遵循先创建testclass,测试类继承unittest.TestCase的固定格式。例如:


1268169-20191111192623460-180011862.png


而pytest不需要,可以直接写def test_XXX()即可,写法是python原生。


1268169-20191111192639974-1095043246.png


二、setUp与tearDown(pytest中的fixture)个人觉得fixture更灵活


对应unittest下的setUp与tearDown,pytest中的fixture显然更加灵活。

可以任意自定义方法函数,只要加上@pytest.fixture()这个装饰器,那么被装饰的方法就可以被使用,如图所示的,为当test_login_success执行结束后,执行退出。fixture的详细使用,会在后面单独拿出来讲。


1268169-20191111192724041-1885011728.png


三、pytest的参数化用起来也更方便


pytest可以更好的参数化,如图所示测试登录失败的场景,这里即是4条测试用例。


1268169-20191111192747807-1856068405.png


四、pytest第三方插件非常丰富


pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)等。这里就不细说了,有需要的话下次再单独说

相关文章
|
测试技术 Python
Pytest简单介绍
Pytest简单介绍
68 0
|
4月前
|
测试技术 Python
pytest中的fixture和conftest.py
pytest中的fixture和conftest.py
|
测试技术 Python
pytest--fixture
pytest--fixture
|
Web App开发 测试技术
10-pytest-parametrize中使用fixture
10-pytest-parametrize中使用fixture
|
JSON 测试技术 数据格式
19-pytest-allure-pytest环境搭建
19-pytest-allure-pytest环境搭建
|
测试技术
pytest学习和使用5-Pytest和Unittest中的断言如何使用?
pytest学习和使用5-Pytest和Unittest中的断言如何使用?
87 0
pytest学习和使用5-Pytest和Unittest中的断言如何使用?
|
测试技术
pytest学习和使用12-Unittest和Pytest参数化详解
pytest学习和使用12-Unittest和Pytest参数化详解
77 0
|
测试技术 Python
pytest学习和使用4-pytest和Unittest中setup、teardown等方法详解和使用(最全)
pytest学习和使用4-pytest和Unittest中setup、teardown等方法详解和使用(最全)
111 0