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

求助:编写简单pytest测试用例后,pytest无法识别测试

排查pytest找不到测试用例的思路

嘿,我来帮你梳理下这个问题的排查方向!从你给出的代码和描述来看,有几个很关键的点需要逐一检查:

  • 函数名称不匹配(最直接的问题)
    你定义的被测试函数是sqr(x),但测试函数里调用的却是kvadrat(2)——这俩名字完全不搭啊!先把测试里的函数名改成sqr,另外还要注意:你的sqr函数逻辑是x**2 + 1,所以sqr(2)的结果是5,不是你断言的4,这个逻辑错误也得修正。

  • 文件命名要符合pytest规则
    pytest默认只会自动识别两类文件:

    • 文件名以test_开头的(比如test_calculation.py)
    • 文件名以_test.py结尾的(比如calculation_test.py)
      如果你的代码写在不符合这个规则的文件里(比如my_code.py),pytest根本不会去扫描里面的测试函数。
  • 测试函数的位置和命名
    你的测试函数test_sqr()命名是符合要求的(以test_开头),但要确保它是顶级函数——不要嵌套在其他类或者函数里面,否则pytest也识别不到。

  • 确认执行pytest的路径
    运行pytest时,要保证你在测试文件所在的目录,或者明确指定文件路径。比如测试文件在当前目录下的tests文件夹里,你得运行pytest tests/或者先cd到tests目录再执行pytest。

  • 用排查命令验证
    如果上面的都检查过还是有问题,试试运行pytest --collect-only,这个命令会列出pytest能发现的所有测试用例。如果你的test_sqr不在列表里,那肯定是命名或路径的问题没解决。

最后给你修正后的代码示例:

def sqr(x): 
    return x**2 + 1

def test_sqr(): 
    assert sqr(2) == 5  # 修正了函数名和断言结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:35:19