azure-devops - VSTest-Task 未运行来自测试计划的 .NET Core 2.1 xUnit-Tests

标签 azure-devops xunit azure-pipelines-release-pipeline vstest .net-core-2.1

我正在尝试在 VSTS 中创建一个发布管道,该管道运行我在 Test Plan 中指定的 xUnit 测试.

长话短说:我无法让它工作。

我在用什么:

  • Azure DevOps(以前称为 VSTS)
  • Visual Studio 测试任务 (v2.*)
  • 面向 .NET Core 2.1 的测试项目
  • xunit 2.4 与 xunit.runner.visualstudio 2.4

  • 在 Azure DevOps 中,我定义了一个 Test Plan包含 Test Suite其中包含一个 Test有一个 Associated Automation它指向我的 xUnit 测试。
    我不得不使用 REST API 将测试代码链接到 Test如所述 here .

    我可以选择 Test在 VSTest 任务的可视化设计器中。

    当我运行发布管道时,VSTest 任务失败并显示以下错误消息:
    DiscoveryMessage : System.IO.FileNotFoundException: Unable to find tests for D:\a\r1\a\Foo.Tests.dll. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk" and framework version settings are appropriate. Rerun with /diag option to diagnose further.
    Foo.Tests.dll 的路径是正确的,所有必需的文件也被复制。
  • 我在 .runsettings 中明确指定了框架版本文件(因为选项 Other console options 在使用 Test plan 选项时不起作用)。
  • 指定path to custom test adapters
  • 二手 Visual Studio 2017Installed by Tools Installer选项
  • 添加了 .NET Core Tool installer安装正确的 .NET Core SDK
  • ...以及我能想到的任何其他设置组合。

  • 错误信息还是一样。

    任何想法我可能会错过什么?在这一点上,您的帮助将不胜感激!

    最佳答案

    几个小时后,我们偶然发现了一个网页,该网页指出您不必复制测试项目的二进制文件作为 VSTest 任务的输入,而是将其发布。没想到是 vstest.console.exe当您将其指向本地机器上的二进制文件时,运行顺畅。

    更新:我们不得不添加一个 Publish Artifact task在我们的 Build Pipeline 结束时,让 Release Pipeline 获取已发布的工件。

    enter image description here

    关于azure-devops - VSTest-Task 未运行来自测试计划的 .NET Core 2.1 xUnit-Tests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52588772/

    相关文章:

    azure - 将 Azure 发布项目默认目录配置为 C(使用 "GetHostByName"参数调用 "1": "No such host is known")

    powershell - 在脚本中动态设置 Azure DevOps 变量

    c# - 如何正确编写异步 XUnit 测试?

    azure-pipelines-release-pipeline - 如何跳过 TFS 发布定义中的代理阶段

    .net-core - 在 .Net Core 2.1 中运行集成测试时出现 VSTS 任务错误

    c# - 将 OpenCover 与 xUnit 集成

    azure - ADF 在 git 模式下发布困惑

    azure - 如何通过 VS Team Services 自动部署 azure webjob - 发布

    azure - 将数据从 TFS 2015 导入到 Visual Studio Team Services?

    .net-core - 使用 AutoMapper ProjectTo 和 Moq.EntityFrameworkCore 进行单元测试