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

PyTest无法识别多测试文件及测试类的问题求助

解决PyTest无法识别测试文件/测试类的问题

核心问题分析

PyTest识别测试的默认规则很明确,你的无法识别的测试文件违反了其中两条:

  • 测试方法必须以test_开头
  • 测试文件必须以test_开头(或_test.py结尾)

对照你的代码细节:

  1. 测试方法命名不规范:无法识别的测试文件中,TestPosts类里的方法名为is_not_contributor,没有以test_作为前缀,PyTest会直接忽略这类方法。
  2. 文件名大概率不符合要求:你没有给出该文件的名称,但如果它不是以test_开头(比如叫posts.py或posts_test.py),PyTest不会主动扫描到它。

修复步骤

1. 修正测试方法命名

把测试方法改为test_开头的格式,示例:

@pytest.mark.django_db
def test_is_not_contributor(db):
    nonauthorizedUser = MemberFactory()
    can_post = nonauthorizedUser.has_perms("post.add_post")
    assert can_post is False

2. 调整测试文件名

将该文件命名为test_posts.py,和已识别的test_members.py保持一致规范,确保它放在tests目录下(你的配置文件已指定testpaths = tests)。

3. 额外确认

确保测试类TestPosts没有定义__init__方法,你的代码已经满足这一点。

验证修复

完成修改后,直接运行pytest命令,PyTest会自动扫描tests目录下所有符合规范的测试文件、类和方法,构建完整的测试套件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:30:57