简体   繁体   中英

NUnit TestFixture with TestCases

Does NUnit provide functionality to have TestCase attributes associated with a TestFixture ? I'd like to run the same set of tests on different implementations of the same interface. The concrete implementation would then be chosen in the SetUp method, and each test should be run with every implementation.

I don't see any possibility for this. But nice idea anyway.

If you are not keen about the TestCase atribute you could use the TestCaseSource attribute with an abstract base class.

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));
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM