Pytest常用命令

本文介绍了Pytest的一些常用命令,包括显示详细信息、指定案例运行、捕获print输出、筛选失败案例、运行失败案例优先、显示案例耗时以及错误堆栈跟踪样式等。这些命令有助于提升Pytest测试的效率和调试的精确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pytest -vPytest -vv 显示具体的详情信息,一般显示错误的位置及错误的详细信息**。Pytest --verbose** 等价于 pytest -v,如图下

在这里插入图片描述
Pytest --collect-only 收集可执行的案例
在这里插入图片描述
Pytest -k 案例名称 表示运行指定的案例,例如 pytest -k “_002” 表示指定运行含有002案例的测试案例
在这里插入图片描述
在test_file01文件中命名为test_001() 在test_file02文件中命名为test_two_001() ,运行的时候编辑命令 pytest -k “_001” 所以它会运行相关名称下的案例
在这里插入图片描述
Pytest -s 等价于 pytest --capture=no 可以捕获print函数的输出

<think>好的,我现在需要处理用户关于pytest执行命令及相关用法的问题。首先,用户明确要求了解pytest的执行命令和使用指南,所以我应该整理出常用的命令和它们的具体应用场景。 根据用户提供的系统级指令,我需要确保所有的数学表达式用$...$,但这里可能用不上,但其他要求如中文回答、生成相关问题、正确引用等需要注意。用户还提到参考站内引用,我需要检查提供的引用内容,看看是否有相关部分可以引用。 首先,回顾用户提供的引用内容。引用[1]到[5]中,引用[1]提到pytest-monitor的安装和数据库生成;引用[2]是关于pytest的快速入门指南;引用[3]是安装pytest-splinter;引用[4]涉及pytest-parallel的并行测试;引用[5]提到xdist插件和并行执行的注意事项。这些引用中,可能相关的有引用[4]和[5]关于并行测试,引用[2]关于基本用法。 接下来,我需要整理pytest的核心执行命令,包括基本命令、参数选项、用例筛选、测试目录/文件指定、并行执行、生成报告、调试和插件使用等。例如,pytest的基本命令是直接运行`pytest`,而参数如`-v`用于详细输出,`-k`用于筛选测试用例,`-m`用于标记,`--collect-only`查看可用的测试用例。这些都需要详细说明。 同时,用户可能对并行执行感兴趣,这里需要提到pytest-xdist插件(引用[4]和[5]),说明如何使用`-n`参数来启用多进程测试,并注意测试用例的独立性,避免依赖问题,如引用[5]所述。 另外,生成报告部分,可以使用pytest-html插件生成HTML报告,或者使用`--junitxml`生成JUnit格式的报告,这些也是常见的用法。 在调试部分,`--pdb`在测试失败时进入调试模式,`-x`遇到失败即停止,这些命令对于调试很有帮助。 关于插件,用户可能还需要知道如何安装和管理插件,比如pytest-splinter(引用[3])和pytest-monitor(引用[1])的安装方法,但用户的问题主要是执行命令,所以可能简要提及插件的使用即可。 最后,需要生成相关问题,如如何组织测试目录、过滤用例的方法、生成测试报告的方式、并行测试的注意事项以及调试技巧等,这些问题应该覆盖用户可能进一步想了解的内容。 检查是否遗漏了重要的命令或参数,比如`--fixtures`查看fixture,或者`--durations`统计测试时间,这些可能对高级用户有用,但基础指南中可能不需要深入。不过根据用户的需求,保持回答结构清晰,分点说明即可。 另外,确保回答中的引用正确,比如在提到并行测试时引用[4]和[5],在提到基本用法时引用[2]。注意引用标识的位置,如“首次执行后生成数据库文件[^1]”可能不相关,但关于并行测试的注意事项需要引用[5]。 总结,回答的结构应该是先介绍基本命令,然后参数选项,用例筛选,目录指定,并行执行(引用相关部分),报告生成,调试命令,插件使用,最后是相关问题。确保每个部分简洁明了,示例代码正确,并适当添加引用。</think>### pytest执行命令及使用指南 #### 一、基础执行命令 1. **运行当前目录下所有测试** 直接输入 `pytest` 命令,自动递归查找以 `test_` 开头或 `_test` 结尾的测试文件和测试函数: ```bash pytest ``` 2. **指定特定文件或目录** 执行指定测试文件或目录中的所有测试: ```bash pytest tests/test_login.py pytest tests/api/ ``` 3. **显示详细信息** 添加 `-v` 参数显示每个测试用例的详细结果: ```bash pytest -v ``` --- #### 二、常用参数选项 | 参数 | 作用 | |---------------|----------------------------------------------------------------------| | `-k <表达式>` | 筛选名称匹配表达式的测试用例(如 `pytest -k "login"` 仅运行包含"login"的用例) | | `-m <标记>` | 运行带有特定标记的测试(需预先用 `@pytest.mark` 标记用例) | | `--collect-only` | 仅列出可执行的测试用例,不实际运行(用于调试或检查) | | `--lf` | 仅重新运行上次失败的用例(需结合 `--last-failed` 使用) | | `-x` | 遇到第一个失败用例时立即停止测试 | --- #### 三、并行测试执行 通过 `pytest-xdist` 插件实现多进程并行测试(需先安装 `pytest-xdist`): ```bash pytest -n 4 # 使用4个进程并行执行 ``` 注意:并行测试需确保用例之间无依赖关系[^5]。 --- #### 四、测试报告生成 1. **生成HTML报告** 使用 `pytest-html` 插件生成可视化报告: ```bash pytest --html=report.html ``` 2. **生成JUnit格式报告** 适用于持续集成工具(如Jenkins): ```bash pytest --junitxml=results.xml ``` --- #### 五、调试与问题排查 1. **进入调试模式** 在测试失败时自动进入 `pdb` 调试环境: ```bash pytest --pdb ``` 2. **输出打印内容** 默认情况下不显示 `print` 输出,添加 `-s` 参数启用: ```bash pytest -s ``` --- #### 六、插件扩展示例 1. **浏览器自动化(pytest-splinter)** 结合 Selenium 进行 Web 测试: ```bash pytest --browser=firefox # 指定浏览器类型[^3] ``` 2. **资源监控(pytest-monitor)** 自动记录测试资源消耗到数据库[^1]: ```bash pytest # 自动生成 pymon.sqlite 文件 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值