NUnit测试用例不是从继承类运行的

时间:2013-01-24 16:01:31

标签: c# nunit resharper resharper-6.1

我有一个包含一些测试用例和一些普通测试的基础测试类:

[TestFixture]
public abstract class TestBase
{
  [TestCase(1)]
  [TestCase(2)]
  [TestCase(3)]
  public void TestA(int value)
  {
    // Perform test
  }

  [Test]
  public void TestB()
  {
    // Perform test
  }
}

这些测试是从以不同方式设置环境的子类运行的。子类只包含设置方法,没有测试。

[TestFixture]
public class LocalDatabaseTest : TestBase
{
  [SetUp]
  public void SetUp()
  {
    // Set up environment to use local db
  }
}

我正在使用ReSharper 6.1.1000.82在LocalDatabaseTest中运行所有测试,但只运行普通测试。使用TestCase的测试没有得到任何结果。如果我在TestBase类中选择TestA上的Run All,则运行所有测试用例(包括其他子类)。我正在使用NUnit 2.6.2.12296。关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:7)

你没有做错任何事。

如果您通过NUnit测试运行器打开测试dll,您将看到所有测试都成功运行 (我刚用NUnit 2.6.2验证了你的代码。)

关于忽略Resharper参数化测试的原因:似乎Resharper测试运行器存在一些导致此类行为的问题。
所以,我的建议是使用NUnit来运行参数化测试。

顺便说一句,Resharper 7更好地支持NUnit参数化测试。可能这个问题不会出现在最新的Resharper版本中。