NUnit是否提供了与TestCase
相关联的TestFixture
属性的功能?我想在同一个接口的不同实现上运行相同的测试集。然后将在SetUp
方法中选择具体实现,并且每个实现都应该运行每个测试。
答案 0 :(得分:0)
我认为没有任何可能性。但无论如何,这个好主意。
如果您不关心TestCase
属性,可以将TestCaseSource
属性与抽象基类一起使用。
public abstract class A
{
public class TestCases : List<TestCaseData>
{
public TestCases()
{
Add(new TestCaseData(1));
Add(new TestCaseData(2));
}
}
public abstract void Test(int i);
}
[TestFixture]
public class B : A
{
[Test]
[TestCaseSource(typeof(TestCases))]
public override void Test(int i)
{
Assert.That(i, Is.GreaterThan(0));
}
}
[TestFixture]
public class C : A
{
[Test]
[TestCaseSource(typeof(TestCases))]
public override void Test(int i)
{
Assert.That(i, Is.LessThan(10));
}
}