【问题标题】:Visual Studio Online CI Nunit Tests not found during build构建期间未找到 Visual Studio Online CI Nunit 测试
【发布时间】:2013-11-17 04:33:32
【问题描述】:

我有一个 VSO (f.k.a TFS) Git 项目可以正确构建和部署,但在解决方案中找不到单元测试。

这是我看到的消息...

No test found. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.

在我的构建定义中我指定了

 - Run tests in test sources matching **\Test*.dll, Target platform: 'X86'

我的解决方案结构是这样的

/Tests.Unit.ProjectName/Tests.Unit.ProjectName.csproj
/ProjectName/ProjectName.csproj

【问题讨论】:

    标签: git unit-testing visual-studio-2013 azure-devops


    【解决方案1】:

    另一种选择是在单元测试项目中安装NUnit Test Adapter for VS2012 and VS2013 NuGet 包。构建服务器会在那里找到它。无需其他更改。

    【讨论】:

    • 对我来说非常完美 - 这应该是公认的答案。
    • Team Build 的这个新功能很棒!
    • 正是我想要的。工作得很好。谢谢。
    • 路人使用 Visual Studio Online 构建定义,在 Visual Studio 测试构建步骤中:1. 请注意,您可能还需要使用“Test Assembly i>" 字段以正确匹配您的测试 dll。 2. 如果您使用 NuGet,您可能还需要提供“自定义测试适配器的路径”、“$(Build.SourcesDirectory)\packages”。详情请见here
    【解决方案2】:

    要运行 NUnit 测试,需要告知构建系统在哪里可以找到第 3 方测试运行程序程序集。目前它无法从 Git 存储库中加载它们。但是......它可以从另一个团队项目中的团队基础源代码控制文件夹加载它们。因此,只需使用标准源代码管理创建一个空项目并从那里引用程序集。

    In this doc,您已了解如何配置 Team Build 以加载 nUnit 测试。基本的事情是您需要复制 Test Runner 组装并将它们粘贴到 TFVC 存储库中。然后,您需要告诉构建控制器它在哪里可以找到这些程序集。

    托管的构建控制器可以从您的 VSO 帐户中的任何团队项目加载这些程序集,因此只需创建第二个可以存储这些的项目。

    另见:

    【讨论】:

    • 我认为 VS2012 和更新版本带有 vstests.console.exe,它可以运行大多数常见的测试框架,包括 NUnit。 blogs.msdn.com/b/bhuvaneshwari/archive/2012/06/16/… vstest 会不会工作?
    • 它会起作用,但是要让 vstest 检测 nUnit,您需要为其提供测试适配器:visualstudiogallery.msdn.microsoft.com/…。在包装盒中,它仅提供 Mstest 适配器。您可以通过将适配器二进制文件放入二进制文件夹来添加 NUnit、XUnit.NET 或任何其他文件。
    猜你喜欢
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2014-01-28
    • 1970-01-01
    • 2014-10-25
    相关资源
    最近更新 更多