我添加了一个启动配置,允许我在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
}
但是,当我运行这个配置时,我会得到一个错误,我认为这是因为${file}
变成了path/to/my/file
而不是path.to.my.file
。
5条答案
按热度按时间ycggw6v21#
如果您使用的是Mac或Linux,下面的启动配置应该适用于Django执行的单个单元测试:
它使用
tr
命令将相对路径中的/
转换为.
。aoyhnmkz2#
如果你使用的是Windows和git bash,使用tr的启动配置也可以,但是你需要在变量替换和双反斜杠之间加上引号。
eqoofvh93#
没有将文件路径转换为点名称,因此您需要在
launch.json
中硬编码。9rbhqvlz4#
这适用于我在wsl ubuntu下的windows与您的 www.example.com 作为打开文件:
我觉得你不需要什么回音|tr ... fileBasenameNoExtension etc.
fae0ux8s5#
对于较新版本的vscode,正如其中一条注解中提到的,vscode停止了对用于发送到args的命令(
echo...
).作为一个不同的解决方案,我使用了下面的方法,这对我来说稍微容易一些,因为我是如何使用管理的。py。
我的配置看起来像这样:
然后,在我的例子中,我添加了一些快捷方式到我 www.example.com 。py run”(而不是runserver),或“manage”。py tap”(而不是--test --parallel 3 --keepdb --settings=settings_tests)等。因此,我添加了另一个名为“dtf”的快捷方式(调试测试文件),它会在实际运行命令之前获取相对文件并替换argv中的值。它看起来像这样:
你可以看看我在www. example中使用的一些快捷方式 www.example.com 的com文件:https://gist.github.com/kalsky/0cba3618452238f3b00354a90d2a51e5