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测试任务的这些附加设置:
- vstest.console.exe 的路径:
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\Extensions\TestPlatform
- 其他控制台选项:
/framework:".NETCoreApp,Version=v2.0"
我有一个类似的问题,原因是我从 v1
Visual Studio 测试任务定义中复制了 "Test files" 字段中的分号分隔搜索模式到我的 v2
定义
显然 v2 不支持分号分隔,所以我改为换行分隔并且有效。
即已更改 build/Tests/*Test.dll;-:**\obj\**
至
build/Tests/*Test.dll
-:**\obj\**
这通常是由于您正在使用的框架缺少测试适配器造成的。例如,对于 nunit,您需要使用 nunitTestAdapter
.
我的 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测试任务的这些附加设置:
- vstest.console.exe 的路径:
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\Extensions\TestPlatform
- 其他控制台选项:
/framework:".NETCoreApp,Version=v2.0"
我有一个类似的问题,原因是我从 v1
Visual Studio 测试任务定义中复制了 "Test files" 字段中的分号分隔搜索模式到我的 v2
定义
显然 v2 不支持分号分隔,所以我改为换行分隔并且有效。
即已更改 build/Tests/*Test.dll;-:**\obj\**
至
build/Tests/*Test.dll
-:**\obj\**
这通常是由于您正在使用的框架缺少测试适配器造成的。例如,对于 nunit,您需要使用 nunitTestAdapter
.