pytest -v --collect-only, 显示所有被发现的测试

今天执行iOS UI 自动化测试专项时,遇到了这样的报错,明明有这个测试方法为什么找不到呢?

python 复制代码
ERROR: not found: /Users/testmanzhang/PycharmProjects/xxxxxxxxxx/test_open_stream.py::test_ccc_open_stream (no match in any of [<Module test_open_stream.py>])

随着测试代码越来越多,测试方法越来越多,有时在开发完成后就不记得测试模块的结构是什么了,这样会导致在pytest命令行执行测试方法的时候,出现上面的错误。这里有一招,可以随时查看测试模块的结构,就是pytest -v --collect-only,下面是我本地执行后的结果,从这个结果中可以看到新开发的测试方法的位置:

python 复制代码
testmanzhang@TestMandeMBP xxxxxxxxx % pytest -v --collect-only

=================================================================== test session starts ===================================================================
platform darwin -- Python 3.12.1, pytest-8.3.2, pluggy-1.5.0 -- /usr/local/bin/python3.12
cachedir: .pytest_cache
rootdir: /Users/testmanzhang/PycharmProjects/xxxxxxxxx
configfile: pytest.ini
plugins: repeat-0.9.3, anyio-4.6.0, allure-pytest-2.13.5, xonsh-0.18.3
collected 6 items                                                                                                                                         

<Dir xxxxxxxxxx>
  <Module test_xxxx_login.py>
    <Function test_login>
    <Function test_logout>
  <Module test_open_stream.py>
    <Class TestOpenStream>
      开流专项,例如,多次开流,每次记录节点时间
      <Function test_xxx_open_stream>
        :前提条件:① xxxxxxxxxx;② xxxxxxxxxx
        :设备为在线状态,可以开流
      <Function test_xxx_open_stream[xxx]>
        :前提条件:① xxxxxxxxxx;② xxxxxxxxxx
        :设备为在线状态,可以开流
  <Module test_user_center.py>
    <Function test_login>
    <Function test_logout>

需要注意的是,在执行pytest -v --collect-only前,要先进入到工程目录,之后再执行,不然的话它就会一直在collecting,这是我在根目录中执行的结果:

在获取到测试模块的结构之后,我们就可以调整命令行中测试方法的层级了:

python 复制代码
pytest -q -s -ra --count=200  test_open_stream.py::TestOpenStream::test_xxx_open_stream --alluredir=./report/xxx/resource | tee pytest_summary.log
相关推荐
gogogo出发喽12 分钟前
使用Pear Admin Flask
后端·python·flask
与虾牵手17 分钟前
Python asyncio 踩了一周坑,我把能犯的错全犯了一遍
python
飞Link21 分钟前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
taxunjishu30 分钟前
智能仓储无人化管控 Profinet转MODBUS TCP全流程互联
网络·网络协议·自动化
资深设备全生命周期管理1 小时前
EXE Ver 适用于 未安装Python 以及包的Windows OS
python
Agent产品评测局1 小时前
企业预算管理自动化落地,编制管控全流程实现方案 —— 2026企业级智能体选型与架构深度解析
运维·人工智能·ai·架构·自动化
Lyyaoo.1 小时前
【Java基础面经】Java 反射机制
java·开发语言·python
广州山泉婚姻1 小时前
VSCode中切换Python虚拟环境失败的原因
python
Ulyanov1 小时前
从零构建现代化Python音频播放器:ttk深度应用与皮肤系统设计
python·架构·音视频·数据可视化
吃一根烤肠1 小时前
NumPy 内置函数与数组运算完全指南
python·numpy