一个fixture中可以有多个[setuptest]?
我正在使用selenium和nunit,希望能够指定用户要测试的浏览器。
我有一个简单的用户gui来选择要运行的测试,但是,我知道在将来我们希望将此连接到cruise control来自动运行测试。理想情况下,我希望测试可以在我们的gui和nunitgui上运行。
最佳答案
一个fixture中可以有多个[setuptest]?不。
可以在基类中定义所有测试,让多个fixture继承测试,然后在运行时选择依赖于环境的fixture类型。
这是我为[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...
}
}