Alb*_*man 3 python django visual-studio-code vscode-debugger
我添加了一个启动配置,允许我在 Django 中运行所有测试,另一个允许我运行服务器,这两个都可以正常工作。
我正在寻找一种调试单个文件的方法,但是${file}在参数中使用给出了 django 不喜欢的正常路径。
我想要一种更改${file}为 python 路径的方法,以便我可以在单个文件上调试我的测试。
python manage.py test --noinput --keepdb python.path.to.my.file
在命令行中工作。
下面的配置好像差不多:
{ "name": "Test File",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"test",
"--noinput",
"--keepdb",
"${file}"
],
"django": true
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此配置时出现错误,我认为这是因为 ${file}变成
path/to/my/file而不是path.to.my.file.
小智 6
如果您使用的是 Windows 和 git bash,则带有 tr 的启动配置也可以工作,但您需要引用变量替换并引用双反斜杠。
{
"name": "Python: Django Debug Single Test",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"test",
"`echo -n \"${relativeFileDirname}\" | tr \\\\ .`.${fileBasenameNoExtension}"
],
"django": true
},
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您使用的是 Mac 或 Linux,以下启动配置应该适用于由 Django 执行的单个单元测试:
{
"name": "Python: Django Debug Single Test",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"test",
"`echo -n ${relativeFileDirname} | tr \/ .`.${fileBasenameNoExtension}"
],
"django": true
},
Run Code Online (Sandbox Code Playgroud)
这使用tr命令转换/成.相对路径。
这对我在 wsl ubuntu 下的 Windows 中有用,并以你的tests.py作为打开文件:
{
"name": "Test Django",
"type": "python",
"request": "launch",
"python": "${workspaceFolder}/../.venv/bin/python",
"program": "${workspaceFolder}/manage.py",
"args": [
"test",
"${relativeFileDirname}"
],
"django": true
},
Run Code Online (Sandbox Code Playgroud)
我认为你不需要任何回声| tr ... fileBasenameNoExtension 等
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |