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
相关推荐
源码之家14 分钟前
计算机毕业设计:Python新能源汽车数据分析与个性化推荐系统 Django框架 snowNLP 协同过滤推荐算法 requests爬虫 可视化(建议收藏)✅
大数据·python·机器学习·数据分析·django·汽车·课程设计
belldeep27 分钟前
AI: llama.cpp 编译成功后,入门教程
python·ai·llama·llama-cpp
数据知道30 分钟前
claw-code 源码分析:不调用大模型也能练会话——`QueryEnginePort` 如何把状态机、停止条件与审计位摆对?
python·ai·claude code
数据知道30 分钟前
claw-code 源码分析:Transcript / Session Store——智能体「运行史」数据结构怎样才算可运维?
运维·数据结构·python·ai·claude code
游九尘37 分钟前
Python 数据类型分类详解
python
郝学胜-神的一滴41 分钟前
Pytorch张量拼接秘籍:cat与stack的深度解析与实战
人工智能·pytorch·python·深度学习·程序人生·算法·机器学习
独断万古他化42 分钟前
【抽奖活动管理平台】完整质量测试报告:功能 / 自动化 / 性能三大维度总结
功能测试·自动化·接口测试·测试报告·ui测试
Flandern111143 分钟前
Go程序员学习AI大模型项目实战:从环境管理到核心架构抽象
人工智能·python·学习·ai·golang
一山秋叶1 小时前
wan2.2-i2v-a14b 模型架构
python·aigc·sglang
ShineWinsu1 小时前
PyCharm性能调优避坑录
ide·python·pycharm