pytest相关

摘自: https://www.cnblogs.com/landhu/p/7461501.html

常用参数

1、-k EXPRESSION
执行某个关键字的用例
用例要匹配给出的表达式;使用python的语法,匹配的范围是文件名、类名、函数名为变量,用and来区分,例如:

pytest -k "pytest and TestClass and not test_exclude"  test_pytest.py

2、-x, --exitfirst
当遇到错误时停止测试

3、–maxfail=num
当错误个数到达给定数时,退出测试,这里就不列举实例了,结果与-x类似

4、-m MARKEXPR
只能运行有相应标识的测试用例,使用这个参数,测试用例要使用@pytest.mark.marker修饰
例如:

class TestClass(object):
 
     @pytest.mark.slow
     def test_two(self):
         '''new_sssetests'''
         x = "hello"
         assert hasattr(x, 'check')
         
     def test_one(self):
         assert 1==2

在使用时,使用如下参数

pytest –m slow test_pytest.py

注意,-m后面不能带’'号(单引号),只能带“”(双引号),不然识别不到
如果要运行多个标识的话,用表达式,如下

pytest -m "slow or faster"   运行有slow标识或 faster标识用例
pytest -m "slow and faster"  运行有slow和faster标识的用例
pytest -m "slow and not faster"  运行有slow和没有faster标识的用例

5、–pdb
当出现错误时,进入调试

但在实例项目中,我们一般不用这个参数,更多的是用python自有的pdb来调试,

如下

import pdb
....
pdb.set_trace()
....

6、 -v, --verbose
详细结果

7、-q, --quiet
极简结果显示

8、–junit-xml=path
输出xml文件格式,在与jenkins做集成时使用

9、 --result-log=path
将最后的结果保存到本地文件中(似乎不可!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想运行pytest,您可以使用以下命令:coverage run -m pytest。这将使您的sys.path稍有不同,因为CWD将包含在其中,与直接运行pytest时不同。您可以通过pytest-cov的命令行选项或Coverage的配置文件来使用Coverage软件包提供的所有功能。Coverage软件包是免费的,并采用MIT许可证。 如果您想生成测试报告,您可以使用以下步骤: 1. 首先,您需要手动注释掉pytest代码,然后运行您的测试用例。这将使运行环境不再使用pytest框架。 2. 然后,您可以去掉注释并再次运行您的代码,这次不使用pytest框架。您可以使用以下示例代码来生成测试报告: #!/usr/bin/env python3 # -*- coding:utf8 -*- import subprocess import sys import time day = time.strftime("%Y%m%d_%H%M", time.localtime(time.time())) reportDir = "../reports" + "/" + day if __name__ == '__main__': if len(sys.argv) == 1: subprocess.call("pytest -v -s --alluredir=%s/Allrue --cov=./ --cov-report=html:%s/Cov" % (reportDir, reportDir), shell=True ) subprocess.call("allure serve %s/Allrue" % reportDir, shell=True) elif len(sys.argv) == 2: caseType = sys.argv caseDir = "test_" + caseType + "*" subprocess.call("pytest -v -s %s --alluredir=%s" % (caseDir, reportDir), shell=True) subprocess.call("allure serve %s" % reportDir, shell=True) 这段代码将运行pytest命令,并使用allure生成测试报告和覆盖率报告。您可以根据您的需要进行相应的修改和调整。 最近在使用pycharm运行python代码时,有时会遇到点击右键后出现"Run 'pytest in **.py'"而不是以前的"Run '**.py'"的情况。如果您遇到这种情况,您可以尝试以下解决方法: - 确保您的项目中没有安装pytest插件。您可以在PyCharm的设置中检查已安装的插件列表。 - 检查您的项目目录下是否有pytest的配置文件pytest.ini或setup.cfg。如果有,请删除这些文件。 - 确保您的项目中没有与pytest相关的配置。您可以在项目的根目录下查找pytest配置文件或pytest.ini文件,并进行适当的修改或删除。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pytest-cov:pytest的覆盖插件](https://download.csdn.net/download/weixin_42160425/18353897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [2021-10-25 pytest run配置(含allure pytest-cov)](https://blog.csdn.net/qq_37497758/article/details/120949307)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pycharm中Run ‘pytest in **.py‘的解决方法](https://blog.csdn.net/qq_42031142/article/details/114807737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值