Visual Studio代码中的Runsettings文件

问题描述

我的项目中有一些单元测试,需要运行设置文件才能正常运行。

启动这些测试时,我遇到了应该从运行设置文件获取的参数的问题

我的问题是,如何在我执行测试时将运行设置文件传递给Visual Studio代码以使用它?

先谢谢您

致谢

解决方法

使用 VS Code 时需要文件 .runsettings 的两个部分:

  1. build 在 VS Code 中测试时,它首先运行带有参数的 vstest.exe
  2. run 在 VS Code 中测试时,它需要 mstest.exe

对于第一部分,这里是 .NET Core 测试资源管理器的文档: https://github.com/formulahendry/vscode-dotnet-test-explorer

设置可通过文件/首选项/设置获得。导航 到扩展和 .NET Core 测试浏览器。

添加到 dotnet test 命令的其他参数。这些 例如可以用来收集代码覆盖率数据 ("/p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=../../lcov.info") 或通过测试设置 ("--settings:./myfilename.runSettings")

enter image description here 但以上设置是全局的,您只能从 .vscode\workspace.code-workspace 文件为指定的测试项目进行设置:

{
  "folders": [
    {
      "path": ".."
    }
  ],"settings": {
    "dotnet-test-explorer.testArguments": "--settings .runsettings","dotnet-test-explorer.testProjectPath": "**/test.project.name.csproj"
  }
}

对于第二部分,我们需要 VS 2019 16.4 提供的新功能 RunSettingsFilePath

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <RunSettingsFilePath>$(MSBuildProjectDirectory)\.runsettings</RunSettingsFilePath> // or $(SolutionDir)
  </PropertyGroup>
  ...
</Project>