簡體   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