找不到Visual Studio单元测试

时间:2013-06-11 13:05:26

标签: c# visual-studio-2010 visual-studio unit-testing nunit

我正在使用Visual Studio作为C#应用程序。

在我的电脑中,我安装了Gallio,这是一套测试工具(包括测试运行器)。我的单元测试是使用NUnit框架的正常单元测试。在我的PC上,Visual Studio可以识别并运行测试。

但是当我更换PC或者从我手中卸载Gallio时,Visual Studio再也找不到单元测试,如下所示:

“未运行任何测试,因为未加载测试或禁用所选测试”

我知道我的项目无法加载,这是因为Gallio。当我在项目中添加Test类时,测试类型被设置为 Gallio 。我尝试了几乎所有东西,使Visual Studio能够再次找到我的测试类,但没有任何运气。

有没有人有同样的问题?任何想法为什么会这样?

谢谢。

2 个答案:

答案 0 :(得分:5)

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

您有以下选择:

  1. 将测试移植到使用MSUnit;或
  2. 升级到Visual Studio 2012;或
  3. 安装一个像Resharper这样内置了NUnit跑步者的附加组件。

答案 1 :(得分:1)

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

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

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

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