最新版本的VS Code已经提供了一种简单的方法来运行单Tyler Long's answer指向问题Debugging xunit tests in .NET Core and Visual Studio Code的单个测试。
但是,我正在寻找如何运行VS Code中的测试套件类中包含的所有测试(无需调试)?
我找到的唯一方法是将launch.json
特定配置添加到下面,但我只能在debug中运行(我想在没有调试的情况下运行它):
{
"name": ".NET Core Xunit tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "/usr/local/share/dotnet/dotnet",
"args": ["test"],
"cwd": "${workspaceRoot}/test/MyProject.Tests",
"externalConsole": false,
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
}
答案 0 :(得分:14)
您可以通过在终端上执行dotnet test
来运行项目中的所有测试。如果您已经打开终端,这很方便,但您也可以将它添加到Visual Studio代码中。
如果按 Cmd - Shift - P 打开命令调色板并输入“test”,则可以运行运行测试任务命令。默认情况下,这不会执行任何操作,但您可以修改tasks.json
以告诉它如何为您运行dotnet test
:
<强> tasks.json 强>
{
"version": "0.1.0",
"command": "dotnet",
"isShellCommand": true,
"args": [],
"tasks": [
{
"taskName": "build",
"args": [ ],
"isBuildCommand": true,
"showOutput": "silent",
"problemMatcher": "$msCompile"
},
{
"taskName": "test",
"args": [ ],
"isTestCommand": true,
"showOutput": "always",
"problemMatcher": "$msCompile"
}
]
}
这两个任务定义将Visual Studio代码中的运行构建任务和运行测试任务命令分别链接到dotnet build
和dotnet test
答案 1 :(得分:8)
基于GraehamF的回答,tasks.json
对于dotnet 2.0所需的配置是不同的。
{
"version": "2.0.0",
"tasks": [
{
...
},
{
"label": "test",
"command": "dotnet",
"type": "shell",
"group": "test",
"args": [
"test",
"${workspaceFolder}/testprojectfolder/testprojectname.csproj"
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
我发现当安装了Visual Studio和VS Code时,将csproj引用放在命令属性中(如在GraehamF的回答中)导致Visual Studio被打开而不是在VS Code中运行测试。
(我会把它放在评论中,但我没有足够的声望点。)
答案 2 :(得分:1)
要在Visual Studio(VS)代码中运行测试,需要将tasks.json
文件添加到.vscode
目录(如果尚未安装)。然后按如下所示配置测试任务:
{
"version": "2.0.0",
"tasks": [
{
... // Other tasks
},
{
"label": "test",
"command": "dotnet",
"type": "shell",
"args": [
"test",
"${workspaceFolder}/TestProjectName/TestProjectName.csproj"
],
"group": "test",
"problemMatcher": "$msCompile",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
}
}
]
}
保存后,在Mac上运行以下命令 Cmd - Shift - P 或 Ctrl -在Linux和Windows的VS Code界面中- Shift - P ,然后键入运行测试任务,按Enter
并选择{{ 1}}。
以上配置应适用于2020年4月(版本1.41)的VS Code的最新Insider和Stable版本。
答案 3 :(得分:0)
类似于@Nate Barbettini的回答,但是对于.Net Core Standard 2.0(netcoreapp2.0)。
{
"version": "2.0.0",
"tasks": [
{
"label": "test",
"command": "dotnet test path/to/test-project.csproj",
"type": "shell",
"group": "test",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
}