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

Django执行测试未识别测试用例,显示0测试完成,求排查方法

Django测试显示0测试完成的排查方案

遇到这种情况很常见,我帮你梳理几个关键的排查点,一步步来解决:

  • 检查测试目录的命名
    Django默认会扫描名为tests(复数)的目录来发现测试文件,而你的目录是test(单数),这很可能是核心问题。要么把目录名改成tests,要么在运行测试时明确指定这个目录的路径。

  • 确保测试文件的内部结构符合规范
    就算你用了--pattern="tests_v*.py"匹配文件名,也要保证文件里的测试代码符合Django要求:

    • 测试类必须继承自django.test.TestCase(或者SimpleTestCase等Django提供的测试基类)
    • 测试方法的名称必须以test_开头,比如test_login_flow,否则Django会忽略这个方法
      举个正确的例子:
    from django.test import TestCase
    
    class UserAuthTestV1(TestCase):
        def test_user_can_login(self):
            # 你的测试逻辑
            self.assertTrue(True)
    
  • 确认目标应用已加入INSTALLED_APPS
    看你的项目结构,测试文件在main_app/test/下面,那你需要确保main_app已经添加到项目settings.py的INSTALLED_APPS列表里。如果没加,Django不会扫描这个应用下的任何测试文件。

  • 明确指定测试路径
    如果不想改目录名,可以试试在命令里直接指定测试文件所在的目录,比如:

    python manage.py test main_app/test --pattern="tests_v*.py"
    

    这样能强制Django去你指定的目录下查找测试文件。

  • 检查目录是否为Python包
    在test目录下需要有一个空的__init__.py文件,让Python把这个目录识别为可导入的包,否则Django无法正确加载里面的测试模块。如果没有的话,创建一个就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:48:18