如何使用 python 调试器和 Visual Studio Code 调试 Behave BDD 场景

Tin*_*Fly 6 python-3.x python-behave visual-studio-code

我使用 Visual Studio 代码来编辑我的行为场景和 Python 步骤。

我已经能够使用 Visual Studio Code 控制台运行我的步骤。

我无法配置 python 调试器来调试我的 Python 脚本,当它们被行为调用时。

如何将 Visual Studion Code Python 调试器与 Behave.exe 结合使用?调试配置参数是什么?视觉工作室代码launch.json

小智 13

在当前功能中添加启动调试的配置:

{
    "name": "Python: Behave current file",
    "type": "python",
    "request": "launch",
    "module": "behave",
    "console": "integratedTerminal",
    "args": [
        "${file}"
    ]
},
Run Code Online (Sandbox Code Playgroud)

  • 这非常有效,非常感谢!(适用于 MacOS)请记住,您必须在 .feature 文件上启动它 - 这很奇怪,但很有意义 (2认同)

小智 6

通过选择场景名称并按或开始调试按钮,使用以下launch.json设置运行单个行为测试F5

    {
        "name": "Python: Behave",
        "type": "python",
        "request": "launch",
        "module": "behave",
        "console": "integratedTerminal",
        "args": [
            "--no-capture",
            "--no-capture-stderr",
            "--no-skipped",
            "${file}",
            "--tags=${selectedText}"
        ]
    }
Run Code Online (Sandbox Code Playgroud)


lin*_*rik 2

我可以看到你和我的设置之间唯一不同的launch.json是我用来args设置测试目录而不是切换cwd

{
    "name": "Python: Behave (.venv)",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/.venv/bin/behave",
    "console": "integratedTerminal",
    "args": [
        "tests/integration"
    ],
}
Run Code Online (Sandbox Code Playgroud)