c# - nunit 测试仅在作为 tfs msbuild 进程的一部分运行时抛出异常

标签 c# visual-studio tfs msbuild nunit

我正在使用 TFS 2012 从 Visual Studio 2015 构建和部署解决方案,没有任何问题。我决定将我的单元测试作为构建过程先决条件的一部分。

独立于 msbuild 进程,单元测试运行没有问题并成功;但是,当我将它们合并为构建过程的一部分时,我在构建中遇到以下异常:

Exception NUnit.Core.UnsupportedFrameworkException, Exception thrown executing tests in D:\Builds\4\PA1111CE\Dev1111dBus\bin\mmmTests.dll
 No test is available in D:\Builds\4\PA1111CE\Dev1111dBus\bin\mmmTests.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.

构建部分成功。

为了确保测试运行,我将 Process 中的 Disable Tests 属性设置为 false:

enter image description here

除此之外,我还为自动化测试设置了选项:

enter image description here

唯一可用的测试运行器如下:

enter image description here

此外,根据我的扩展和更新,它表明我确实安装了 nunit 适配器 3:

enter image description here

我做错了什么? 为什么我的构建只成功了一部分?

最佳答案

该消息表明您正在尝试使用错误的 Visual Studio 适配器运行 NUnit 测试。使用 2.0 适配器进行 NUnit 2.x 测试,使用 3.0 适配器进行 NUnit 3.0 测试。

如果您安装了两个适配器,每个适配器都将运行它们设计的测试。他们每个人都会为他们不支持的任何程序集显示一条消息。该消息并不意味着错误,我们尝试以不会被误认为是错误的方式来表达它。但是,我们觉得我们必须提供它,以防万一您希望该程序集由该特定适配器处理。悄悄地通过它似乎是错误的。

在VS IDE下运行时,该消息不会导致测试运行失败。看来在TFS下运行确实会导致失败。如果没记错的话,我们已为 NUnit 3 适配器修复了此问题,但(尚未)为 NUnit 2 适配器修复了此问题。

关于c# - nunit 测试仅在作为 tfs msbuild 进程的一部分运行时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191374/

相关文章:

c# - 类型 'System.Web.HttpInputStream' 未标记为可序列化

c# - 如何在设置 CurrentUICulture 后更新窗体 UI?

windows - 用MSVC工具生成裸机二进制文件的过程是什么?

c# - C++/CLI .obj 和 C# .netmodule 与部分类之间的 LNK2022

c - 使用 SDL 创建窗口时,VS 解决方案配置会影响窗口分辨率

git - 切换分支不会刷新 Visual Studio 中的解决方案资源管理器

c# - 如何调用不带参数的c#方法并访问返回的数据?

c# - Entity Framework Core 使用 Windows 服务

visual-studio - 检索文件时 TFS 503 服务不可用

java - 如何使用 Team Explorer Everywhere 创建代码审查请求?