首页 > 其他 > 详细

pytest

时间:2020-03-12 00:02:28      阅读:73      评论:0      收藏:0      [点我收藏+]

 

 

 

 

 

1、分组执行

在测试用例上添加:@pytest.mark.xxx,xxx是自己定义的名字

通过命令行 进行分组执行:pytest -m "xxx";想要同时执行多个分组:pytest -m "xxx yyy"

 

2、参数化

测试用例上添加:@pytest.mark.arametrize()

通过参数化,可以高效的执行测试用例

优点:断言灵活性高,如果一个测试用例中的某一个assert报错,那么它不会执行后面的assert;但是参数化可以避开这个问题,会执行完所有的assert

@pytest.mark.parametrize("number1, number2, expect", {
    (10, 2, 5),
    (10, 5, 2),
    (10000000, 1, 10000000)
})
def test_param(number1, number2, expect):
    assert div(number1, number2) == expect

技术分享图片

 

 

3、报告生成:

pytest-html:现在几乎不用

allure2:优美

1)下载allure

mac上执行 brew install allure,前提电脑装过Homebrew ,也可以去git上下载并配置环境变量

2)项目-preferences-ProjectInsterpreter-搜索并安装 allure-pytest

先执行命令pytest --junitxml=pytestdemo/junit.xml pytestdemo,在pytestdemo文件下生成 junit.xml文件

在执行 pytest --junitxml=pytestdemo/junit.xml --alluredir=pytestdemo/allure_result pytestdemo/   ,生成allure_result 文件

技术分享图片

 

 

3)执行命令:allure serve pytestdemo/allure_result/

4)查看报告

技术分享图片

 

 

5)保存报告 到/tmp/allure_html/中

allure generate pytestdemo/allure_result/ -o /tmp/allure_html

6)open /tmp/allure_html,打开报告所在文件

7)因为报告都是基于js文件的,所以要把报告生成一个网站,才能成功打开

命令执行 python -m CGIHTTPSerer

python3的话,用命令 python -m http.server

点击网址 进入即可

技术分享图片

 

pytest

原文:https://www.cnblogs.com/lwj-0923/p/12466514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!