多个[SetupTest]用于不同的配置

Daz*_*Cat 4 c# nunit

是否有可能在灯具中有多个[SetupTest]?

我正在使用Selenium和nUnit,并希望能够指定用户想要测试的浏览器.

我有一个简单的用户界面来选择要运行的测试但是,我知道将来我们希望将它连接到巡航控制以自动运行测试.理想情况下,我希望测试可以在我们的GUI和NUnit GUI上运行.

Ern*_*ieL 6

是否有可能在灯具中有多个[SetupTest]?没有.

可以在基类中定义所有测试,让多个夹具继承测试,然后在运行时选择与环境相关的夹具类型.

这是我对[TestFixtureSetup]的库存示例.相同的原理适用于所有设置属性.请注意,我只是将[TestFixture]放在子类上.由于基础"TestClass"没有完整的设置代码,因此您不希望直接运行测试.

public class TestClass
{
    public virtual void TestFixtureSetUp()
    {
        // environment independent code...
    }

    [Test]
    public void Test1() { Console.WriteLine("Test1 pass.");  }

    // More Environment independent tests...
}

[TestFixture]
public class BrowserFixture : TestClass
{
    [TestFixtureSetUp]
    public override void TestFixtureSetUp()
    {
        base.TestFixtureSetUp();
        // environment dependent code...
    }
}

[TestFixture]
public class GUIFixture : TestClass
{
    [TestFixtureSetUp]
    public override void TestFixtureSetUp()
    {
        base.TestFixtureSetUp();
        // environment dependent code...
    }
}
Run Code Online (Sandbox Code Playgroud)