Nunit基类与常见测试

时间:2014-02-19 12:11:01

标签: c# nunit

我正在使用nunit为某些类做一些测试。

所有测试类都有一些常见的操作,但需要使用不同的参数。

所以我在基类中添加了测试,在基类中添加了虚拟方法来提供参数。

在派生测试类中,我重写虚方法,为基类中的测试提供特定参数。

现在我的问题是我希望基类中的测试只能从派生类中执行。我目前正在使用基类上的ignore属性来忽略测试但是这会在运行测试时导致一些警告,并且如果存在许多被忽略的测试,则存在不允许我将更改提交到svn的策略。

那么如何在不使用基类的ignore属性的情况下从派生类中的基类运行测试。

1 个答案:

答案 0 :(得分:19)

您应该能够将基类标记为抽象,这将阻止nunit在该类中运行测试 - 这意味着您不再需要ignore属性。

namespace MyTests
{
    [TestFixture]
    public abstract class BaseTestClass
    {
        [Test]
        public void CommonTest()
        {

        }
    }

    [TestFixture]
    public class TestClass1 : BaseTestClass
    {
        [Test]
        public void OtherTest1()
        {

        }
    }

    [TestFixture]
    public class TestClass2 : BaseTestClass
    {
        [Test]
        public void OtherTest2()
        {

        }
    }
}