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

如何在VSCode中为Django测试设置独立环境变量并运行指定测试用例

在VSCode中为Django测试配置独立环境变量并单独运行测试用例

一、让测试用例显示运行按钮(解决无法单独运行测试的问题)

  • 确保已安装VSCode的Python插件(若未安装,在扩展市场搜索"Python"安装即可)。
  • 打开VSCode命令面板(Ctrl+Shift+P),输入Python: Configure Tests并执行。
  • 在弹出选项中选择Django,然后指定项目根目录(即包含manage.py的文件夹)。
  • 等待VSCode扫描测试用例,完成后每个测试类、测试方法旁会出现运行按钮,点击即可单独运行对应测试。

二、配置测试专用的环境变量

方法1:通过VSCode全局测试设置配置

打开VSCode的设置JSON文件(Ctrl+Shift+P输入Preferences: Open Settings (JSON)),添加以下配置:

"python.testing.env": {
    "ENV_VAR_1": "test_specific_value",
    "ENV_VAR_2": "another_test_value"
    // 可按需添加更多测试专用变量
}

该配置仅作用于测试运行,和Django服务启动时的环境变量完全隔离。

方法2:用launch.json创建自定义测试运行配置(更灵活)

  • 打开调试面板(Ctrl+Shift+D),点击"创建launch.json文件",选择Python环境,再选择Django Test模板。
  • 修改生成的launch.json,添加或调整env字段,还可指定单个测试用例:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Django 全量测试",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["test"],
            "env": {
                "TEST_ENV": "full_test",
                "DB_NAME": "test_db"
            },
            "django": true
        },
        {
            "name": "Django 单个测试用例",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["test", "blog.tests.PostTestCase.test_create_post"],
            "env": {
                "TEST_ENV": "single_test",
                "DEBUG": "False"
            },
            "django": true
        }
    ]
}
  • 配置完成后,在调试面板选择对应配置,点击启动按钮即可运行,环境变量仅对当前配置生效。

方法3:用.env文件区分测试与开发环境

  • 安装依赖:pip install python-dotenv
  • 在项目根目录创建两个.env文件:.env.dev(开发环境变量)和.env.test(测试环境变量)
  • 修改Django的settings.py,根据运行环境加载对应.env文件:
from dotenv import load_dotenv
import os

# 判断是否在运行测试
if os.environ.get('RUNNING_TESTS') == '1':
    load_dotenv('.env.test')
else:
    load_dotenv('.env.dev')
  • 在VSCode的测试设置中添加触发标识:
"python.testing.env": {
    "RUNNING_TESTS": "1"
}

这样运行测试时会自动加载测试用的.env文件,启动Django服务时则加载开发环境的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:13:29