0

我正在将 Visual Studio 用于 C# 应用程序。

在我的 PC 中,我安装了 Gallio,它是一组测试工具(包括一个测试运行器)。我的单元测试是使用 NUnit 框架的普通单元测试。在我的 PC 上,Visual Studio 可以识别和运行测试。

但是,当我更换 PC 或从我的电脑上卸载 Gallio 时,Visual Studio 无法再找到单元测试并给出如下消息:

“没有运行测试,因为没有加载测试或选定的测试被禁用”

我知道我的项目无法加载的事实是因为 Gallio。当我在我的项目中添加一个测试类时,测试类型设置为Gallio。我几乎尝试了一切让 Visual Studio 能够再次找到我的测试类,但没有任何运气。

有没有人有同样的问题?任何想法为什么会发生这种情况?

谢谢你。

4

2 回答 2

5

Visual Studio 2010 没有 NUnit 的测试运行器。默认情况下它只能执行 MSUnit 测试,而不使用像 Resharper 这样的附加组件。Visual Studio 2012 现在在其他测试框架中包含 NUnit 运行器。

您有以下选择:

  1. 移植您的测试以使用 MSUnit;或者
  2. 升级到 Visual Studio 2012;或者
  3. 安装像 Resharper 这样内置了 NUnit 运行器的插件。
于 2013-06-11T13:22:16.740 回答
1

问题是 MSTest 和 NUnit 使用不同的属性来标记测试:

// MSTest
[TestClass]
public class MsTests
{
   [TestMethod]
   public void MyMethod()
}

// NUnit
[TestFixture]
public class NUnitTests
{
   [Test]
   public void MyMethod()
}

您必须进行交换,或者如果您希望它对两个框架都可用,则两者都使用。但是 MSTest 不喜欢带参数的方法,而 NUnit 喜欢。

于 2013-06-11T13:24:19.177 回答