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

Anl*_*nlo 10 c# resharper nunit 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
  }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ale*_*iuk 7

你没有做错任何事.

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

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

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

  • 这在VS 2012中的7.1中没有修复.但是,+1指出了这一点.它让我疯狂为什么它无缘无故地显示出不确定性 (2认同)