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

VSCode运行Django单元测试出现AppRegistryNotReady错误求助

Django单元测试在VSCode测试资源管理器运行报错AppRegistryNotReady的解决方法

我用Django自带的python manage.py test命令运行单元测试时一切正常,但通过VSCode测试资源管理器运行时,会抛出*django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.*错误。我查过多个类似问题,但现有解决方案都无效。

我已经尝试了以下操作:

  • 在测试类的SetUpTestData方法及实际测试方法内部导入models等类,而非在文件顶部导入。这能让测试用例显示在测试资源管理器中,但运行仍然报错。
  • 在测试类所在文件顶部手动设置环境变量:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
  • 在项目根目录添加.env文件,内容为DJANGO_SETTINGS_MODULE = my_project.settings
  • 在launch.json中添加用于调试测试的配置:
"configurations": [
    {
        "name": "Django test",
        "type": "python",
        "request": "launch",
        "program": "${workspaceFolder}\\manage.py",
        "args": [
            "test"
        ],
        "purpose": ["debug-test"],
        "django": true,
        "justMyCode": true
    }
]
  • 移除应用文件夹中的tests.py文件,因为我的测试代码存放在单独的tests文件夹中(Django似乎不允许两者同时存在)。

我的项目文件夹结构如下:

root
  |_ my_app
      |_ tests
          |_ __init__.py
          |_ test_models.py
  |_ my_project

附上我的VSCode settings.json配置:

{
    "python.testing.unittestArgs": [
        "-v",
        "-s",
        ".",
        "-p",
        "test_*.py"
    ],
    "python.testing.pytestEnabled": false,
    "python.testing.unittestEnabled": true
}

请问如何让VSCode测试资源管理器与Django单元测试兼容?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:42:36