Visual Studio Online CI 在构建过程中未找到 Nunit 测试

16

我有一个 VSO (原名 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
2个回答

22

对我来说完美地解决了问题 - 这应该是被采纳的答案。 - Paul Stovell
团队构建的这个新功能真是太棒了! - jessehouwing
正是我所需要的。运行得非常好。谢谢。 - gmetzker
1
使用Visual Studio Online构建定义的路人,请注意在Visual Studio Test构建步骤中:**1.*请注意,您可能还需要使用“Test Assembly*”字段来正确匹配您的测试dll。 **2.*如果您正在使用NuGet,则还需要提供“Path to Custom Test Adapters*”,即“$(Build.SourcesDirectory)\packages”。有关详细信息,请参见此处 - kdbanman

7
为了运行NUnit测试,构建系统需要告诉它可以在哪里找到第三方测试运行器程序集。目前无法从Git存储库中加载这些程序集。但是... 它可以从另一个团队项目中的Team Foundation源代码控制文件夹中加载它们。因此,只需使用标准源代码控制创建一个空项目,并从那里引用程序集即可。
此文档中,您将了解如何配置Team Build以加载nUnit测试。基本的事情是,您需要复制Test Runner程序集并将其放入TFVC存储库中。然后,您需要告诉Build Controller它可以在哪里找到这些程序集。
托管的构建控制器可以从VSO帐户中的任何团队项目加载这些程序集,因此只需创建一个可以存储这些程序集的第二个项目。
另请参见:
- http://walkingthestack.blogspot.com/2013/04/using-nunit-for-your-tests-in-team.html - http://www.visualstudio.com/get-started/hosted-build-controller-vs#supplemental_binaries

我认为VS2012及更高版本都带有vstests.console.exe,它可以运行包括NUnit在内的大多数常见测试框架。http://blogs.msdn.com/b/bhuvaneshwari/archive/2012/06/16/vstest-console-exe-commandline-test-runner.aspxvstest不起作用吗? - devfunkd
2
它可以工作,但是为了让vstest检测到nUnit,您需要为其提供测试适配器:http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d。在盒子中,它只提供Mstest适配器。您可以通过将适配器二进制文件放入二进制文件夹中来添加NUnit、XUnit.NET或任何其他适配器。 - jessehouwing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接