pytest

Posted wenshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest相关的知识,希望对你有一定的参考价值。

1. 查看详情:pytest   test.py 文件    

     -v   查看详情

3. 直接在目录下运行pytest

搜索当前目录及其子目录(不一定带test)以test_开头或者_test结尾的测试函数

5. 运行结果

 .    通过

F    fail

E    error

s     skip

x     xfail(预期失败实际失败)

X    xpass(预期失败但是通过)

6. 常用的pytest选项

--collect-only   当前会运行那些用例

-s     可以输出print的信息

-v     详细信息

-q     简化结果内容(常常和   -q  --tb=line   一起使用)

-m    运行带标记的用例(可以在标记之间添加 and or not关键词,注意使用双引号)

 

 

7. 预期异常

  import pytest

  with pytest.raises(TypeError):

  ...              # 代码逻辑预期会报TypeError的异常 

 

8. 标记

@pytest.mark.something

 

9. 跳过测试

@pytest.mark.skip()

 

 

10. 参数化

@pytest.mark.parametrize(argnames,argvalues)

argnames   逗号分隔的字符串列表     ‘summary, owner, done‘

argvalues    value组成的列表    

[(‘sleep‘, None, False),

(‘wake‘, ‘brian‘, False),

(‘breathe‘, ‘BRIAN‘, True),

(‘eat eggs‘, ‘BrIaN‘, False),

])

ids  作用:标识value里面的每一个参数,ids是一个字符串列表,和value对象的长度一致

 

 

11. --setup-show,可以回溯fixture的执行顺序

scope=‘function‘   每个函数运行的时候均会调用

scope=‘class‘        每个类运行的时候仅且仅运行一次

scope=‘module‘    每个py文件运行的时候仅且仅一次

scope=‘session‘    每次运行仅且仅一次

     

 

技术图片

 

以上是关于pytest的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins集成Allure报告

Python+pytest知识点回顾

不能在Python Console中运行pytest

起飞!这份技术点拉满的 “测试自动化最佳Python框架 ” 技术进阶精编笔记!对你应该很有帮助