VSTS "Visual Studio Test" 任务找不到 .Net Core dll 的测试

VSTS "Visual Studio Test" task can't find tests of .Net Core dlls

我的 VSTS -“Visual Studio 测试”任务找不到 .NET Core 程序集的任何测试。但在 VS 2017 和控制台中,它运行良好。

VSTS 任务的日志:

我的 运行 设置文件:

从运行设置中删除 <TargetFrameworkVersion>Framework45</TargetFrameVersion>

如警告消息中所述(以下 DLL 与 framework/platform 不匹配),vstest.console 忽略 .NET Core 测试程序集,因为运行设置中的 TargetFrameworkVersion 值(Framework45)。

如果您使用的 VS >= 15.5,您可以从运行设置中删除 TargetFrameworkVersion。从 15.5 开始 vstest.console 能够通过从测试程序集中读取元数据来检测框架和平台。

参考Visual Studio测试任务的这些附加设置:

  1. vstest.console.exe 的路径:C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\Extensions\TestPlatform
  2. 其他控制台选项:/framework:".NETCoreApp,Version=v2.0"

我有一个类似的问题,原因是我从 v1 Visual Studio 测试任务定义中复制了 "Test files" 字段中的分号分隔搜索模式到我的 v2定义

显然 v2 不支持分号分隔,所以我改为换行分隔并且有效。

即已更改 build/Tests/*Test.dll;-:**\obj\**

build/Tests/*Test.dll -:**\obj\**

这通常是由于您正在使用的框架缺少测试适配器造成的。例如,对于 nunit,您需要使用 nunitTestAdapter.