pytest特色与实用插件

pytest特色

1、fixture的特点

  • fixture是pytest特有的功能,其特点如下:

必须用pytest.fixture装饰器装饰;fixture有明确的名字,在其他函数(function,默认),模块(module),类(class)或整个工程(session)调用它时会被激活;

  • function:每个test都运行,默认是function的scope class:每个class的所有test只运行一次
  • class:每个测试类之前执行一次
  • module:每个module的所有test只运行一次
  • session:每个session只运行一次
  • 它自身也可以调用其他的fixture;
  • 可以和测试函数写在同一个文件里;
  • fixture看做是资源,在你的测试用例执行之前需要去配置这些资源,执行完后需要去释放资源;
  • fixture还提供了参数化功能,根据配置和不同组件来选择不同的参数;

2、conftest.py:共享fixture功能

如果在实现测试期间,要使用多个测试文件中的fixture函数,则可以将其移动到conftest.py文件中。 并且,不需要导入要在测试中使用的fixture,它会自动被pytest发现。 fixture功能的发现从测试类开始,然后是测试模块,然后是conftest.py文件,最后是内置和第三方插件。

 

pytest插件

pytest真的很强大,下面列出其几点强大之处,方便大家在使用到pytest的时候做参考。

1、pytest-xdist

功能:

开启多个worker进程,同时执行多个测试用例,达到并发运行的效果,大大提升构建效率。

官网介绍:

https://pypi.org/project/pytest-xdist/

2、pytest-allure-adaptor

功能:

  生成漂亮的allure报告,持续构建推荐使用

官网介绍:

  https://pypi.org/project/pytest-allure-adaptor/

3、pytest-html

功能:

  生成html格式报告,本地调试推荐使用

官网介绍:

https://pypi.org/project/pytest-html/

4、pytest-rerunfailures

功能:

  自动重跑失败用例

官网介绍:

https://pypi.org/project/pytest-rerunfailures/3.1/

5、pytest-cache

功能:

  重跑上次失败的用例,持续集成中很实用,提高分析效率,强烈推荐。

官网介绍:

  https://pypi.org/project/pytest-cache/

6、pytest-ordering

功能:

  可指定一个测试套中的所有用例执行顺序。

官网介绍:

  https://pypi.org/project/pytest-ordering/

7、pytest-sugar

功能:

  改变了pytest的默认外观,增加了一个进度条,并立即显示失败的测试。

官网介绍:

  https://pypi.org/project/pytest-sugar/
  

 

posted @ 2018-12-05 10:55  小嘉欣  阅读(1307)  评论(0编辑  收藏  举报