我正在使用 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:
除此之外,我还为自动化测试设置了选项:
唯一可用的测试运行器如下:
此外,根据我的扩展和更新,它表明我确实安装了 nunit 适配器 3:
我做错了什么? 为什么我的构建只成功了一部分?
最佳答案
该消息表明您正在尝试使用错误的 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/