繁体   English   中英

在 VSCode 中运行 Python 单元测试时设置环境变量

[英]Setting environment variable when running Python unit tests inside VSCode

我想在我的单元测试中执行代码,条件是它们是在 VSCode 中还是在命令行中运行。 有没有办法这样做?

原因是通过cv2.imwrite语句添加额外的视觉反馈,但在从命令行运行完整回归或运行我的 CI 时省略这些。

我知道我可以在launch.json中设置调试配置文件并在那里定义环境变量,但这仅适用于调试单元测试时:

       {
            "name": "Debug Tests",
            "type": "python",
            "request": "test",
            "console": "integratedTerminal",
            "python": "${command:python.interpreterPath}",
            "justMyCode": false,
            "env": {
                "MY_ENVIRONMENT_SWITCH_FOR_WRITING_JPEGS": "1"
            }
        },

有没有办法在不通过调试器运行时实现类似的东西?

尝试使用.env文件定义环境变量

在此处输入图像描述

.env

MY_ENVIRONMENT_SWITCH_FOR_WRITING_JPEGS = 1

测试1.py

import os
from pathlib import Path
from dotenv import find_dotenv, load_dotenv

env_path = Path(".") / ".env"
load_dotenv(dotenv_path=env_path, verbose=True)
print(os.getenv("MY_ENVIRONMENT_SWITCH_FOR_WRITING_JPEGS"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM