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



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

[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 上运行全部",则会运行所有测试用例(包括其他子类)。我正在使用 NUnit 2.6.2.12296。对我做错了什么有什么想法吗?

你没有做错任何事。

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

关于忽略Resharper

上的参数化测试的原因:Resharper测试运行器似乎存在一些问题,导致这种行为。
因此,我的建议是使用 NUnit 运行参数化测试。

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

相关内容

  • 没有找到相关文章

最新更新