Search code examples
debugging.net-corevisual-studio-codemstest

Debugging MSTest Unittests in Visual Studio Code


I am trying to use Visual Studio Code to Debug a MSTest unit test project. But the tests just run and the breakpoint is never reached.

Here is my launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Test (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "C:\\Program Files\\dotnet\\dotnet.exe",
            "args": ["test"],
            "cwd": "${workspaceRoot}",
            "console": "internalConsole",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ]
}

How can I debug a unit test (MSTest)? This same problem exists for XUnit.


Solution

  • Try https://github.com/Microsoft/vstest-docs/blob/master/docs/diagnose.md#debug-test-platform-components (assumes you're using dotnet-cli tools 1.0.0)

    > set VSTEST_HOST_DEBUG=1
    > dotnet test
    # Process will wait for attach
    # Set breakpoint in vscode
    # Use the NETCore attach config from vscode and pick the dotnet process