【问题标题】:How do I debug individual Django tests in vscode?如何在 vscode 中调试单个 Django 测试?
【发布时间】:2019-11-13 11:25:29
【问题描述】:

我添加了一个启动配置,允许我在 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。

【问题讨论】:

    标签: python django visual-studio-code vscode-debugger


    【解决方案1】:

    如果您使用的是 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
        },
    

    这使用tr 命令将/ 转换为相对路径中的.。

    【讨论】:

      【解决方案2】:

      没有文件路径到点名称的转换,因此您需要在 launch.json 中硬编码。

      【讨论】:

      【解决方案3】:

      如果您使用 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
          },
      

      【讨论】:

        猜你喜欢
        • 2021-08-03
        • 2013-05-08
        • 2021-03-14
        • 1970-01-01
        • 2022-01-04
        • 2021-04-09
        • 1970-01-01
        • 2021-02-05
        • 1970-01-01
        相关资源
        最近更新 更多