You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用py.test运行指定方法?现有命令失效求解决

问题原因及解决办法

你的问题核心是函数名不符合pytest的测试用例识别规则:

pytest默认只会扫描并执行以下类型的测试用例:

  • 以test_开头的函数
  • 以Test开头的类(不能带__init__方法)中,以test_开头的方法

你的special_test函数不是以test_开头,所以pytest根本不会把它当作测试用例,自然找不到也不会运行。

解决方法

方法1:遵循默认命名规范(推荐)

把函数名改成以test_开头,比如test_special:

def test_special():
    assert True

之后执行以下任意命令都能正常运行该测试:

  • py.test mytest.py::test_special
  • py.test mytest.py -k special

方法2:自定义识别规则(不推荐,除非有特殊需求)

如果不想修改函数名,可以通过修改pytest配置文件(pytest.ini)来添加自定义的测试识别规则,比如:
在项目根目录创建pytest.ini,写入:

[pytest]
python_files = *.py
python_functions = *_test

这样pytest会识别所有以_test结尾的函数作为测试用例,你的special_test就能被识别了。但这种方式会打破pytest的通用规范,团队协作时可能造成混淆,所以优先推荐方法1。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:50:33