我有一个Nunit测试,它使用selenium RC来对我们的UI运行测试。我想针对2个不同的服务器运行测试,这意味着要使用2个不同的服务器调用selenium.open()。但是,我不希望有两个不同的Nunit测试套件,它们可以针对不同的服务器执行相同的操作。我需要一种方法将参数从Nant或Nunit驱动程序传递到特定的哪个服务器进行测试。
有没有这样做?
答案 0 :(得分:1)
如果您希望对两台服务器运行相同的测试,最新版本的NUnit支持带参数的测试。您可以在测试中包含服务器参数,如下所示:
[TestFixture]
public class MyTestFixture
{
public string[] Servers = new string[] { "server1.address", "server2.address" };
[Test]
public void SomeTest([ValueSource("Servers")] server)
{
ISelenium selenium = new DefaultSelenium(server, 4444, "*firefox", "http://localhost");
//rest of test
}
}
当NUnit执行时,此测试将运行两次:一次使用“server1.address”参数,一次使用“server2.address”参数。您可以在此处阅读ValueSource测试:http://www.nunit.org/index.php?p=valueSource&r=2.5.5