我正在使用VSCode devcontainers,并且我很难弄清楚如何为我的pytest设置运行不同的.env文件,而不是只想运行uvicorn/debug。
我可以在settings.json中设置一个envfile,这是可行的,但我必须根据我是想测试服务器还是只想运行服务器来回更改此路径。我读到你可以在launch.json中更改测试的环境文件,但是当发现/运行中的测试不再出现时,这些是launch.json的有效设置,并且必须被烘焙到vscode-python扩展中吗?
我真的很困惑,因为我觉得这是一个常见的用例,我真正想要完成的是设置一个不同的DB连接器,以便test可以删除/创建测试的表,但dev将持久化在单独的数据库中。
发布于 2020-11-03 22:59:10
对于任何偶然发现这一点的人,我找到了一个解决方法,即指定某个环境文件用于运行和调试,然后在settings.json中使用一个单独的环境来申请测试。
所以想象一下你有
包含以下内容的dev.env
environment=dev
...和包含以下内容的test.env
environment=test
...然后,您可以在.vscode/settings.json中包含这一行
"python.envFile": "${workspaceFolder}/test.env"这是我使用uvicorn启动fastapi时的启动配置:
{
"name": "Python: FastAPI",
"type": "python",
"request": "launch",
"module": "uvicorn",
"envFile": "${workspaceFolder}/dev.env",
"args": [
"app.main:app",
"--reload"
]
}这有点奇怪,它必须这样配置,但它现在似乎是有效的。
https://stackoverflow.com/questions/64656337
复制相似问题