【问题标题】:VSTS "Visual Studio Test" task can't find tests of .Net Core dllsVSTS“Visual Studio 测试”任务找不到 .Net Core dll 的测试
【发布时间】:2018-10-28 19:16:03
【问题描述】:

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

VSTS 任务的日志:

我的运行设置文件:

【问题讨论】:

  • 请不要将代码发布为图像,使用文本。

标签: azure-devops mstest vstest


【解决方案1】:

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

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

【讨论】:

  • 如何为包含 net461 和 netcoreapp2.1 应用程序的混合解决方案执行此操作?
【解决方案2】:

我遇到了类似的问题,原因是我将“测试文件”字段中的分号分隔搜索模式从我的v1 Visual Studio 测试任务定义复制到我的v2 定义

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

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

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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

    • 感谢您的回复,但我尝试删除它,但它不起作用。相同的消息...
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 2017-01-14
      • 1970-01-01
      • 2011-01-16
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多