Visual Studio 测试资源管理器 window 在 NUnit 扩展实施后找不到我的测试

Visual Studio test explorer window does not find my tests after NUnit extension implementation

我正在 Visual Studio 2013 Professional 中实施测试解决方案。我选择了 NUnit(2.6.4 版)作为测试框架。我已经安装了 NUnit 测试适配器,以便也在 Visual Studio 中执行我的测试。一切正常,直到我输入 NUnit 扩展 class 以获取断言失败消息... 在 Visual Studio Test Explorer 中的 class 实现之前,我所有的测试 classes 和相关方法都已正确列出;在我重建我的解决方案时扩展实现之后,测试列表不再出现(测试资源管理器 window 可见,但是当我 build/rebuild 我的解决方案没有列出时)。

我所有的 class 都是 public,每个测试 class 都用 [TestFixture] 属性装饰,每个测试方法都用 [Test] 一个. 在我的分机下方 class:

using System;
using COLL = System.Collections.Generic;
using NUnit.Core.Extensibility;
using NUnit.Core;

namespace UTDirectPLM
{
 [NUnitAddinAttribute(Type = ExtensionType.Core)]
 public class ExtensionToLog
 {
   // the wrong behaviour occurs also if I leave empty the class body.
 }
}

我忘记了什么?

这似乎是 NUnit 核心 2.6.4 版本中的错误。我可以用 2.6.4 重现它,但使用 2.6.3 核心 - 即使使用 2.6.4 框架也能使它工作。所以这是一种解决方法。我需要做的就是将 nunit.core.interfaces.dll 更改为 2.6.3 版本。 (当你实现的时候,你当然需要将所有使用的核心 dll 更改为 2.6.3 版本)

由于不再维护 NUnit v2,所有工作现在都集中在 NUnit 3 上。您可以查看 V3,即使它仍处于测试阶段(现在已经推出测试版 2)。它也有不同的 [希望] 更好的扩展方式。在 https://github.com/nunit/nunit/wiki/Action-Attributes

查看 wiki

我遇到了类似的问题,但原因是在安装 NUnit NuGet 包时,缺少用于 VS2013 NuGet 包的 NUnit 测试适配器。没有消息表明这是问题所在。