public void method1() { ... }
public void method2() { ... }
}
@Test(groups = { "checkin-test" })
public class All {
@Test(groups = { "func-test" )
public void method1() { ... }
public void method2() { ... }
}
在这个类中,method2() 属于组"checkin-test",在类的级别定义。而method1() 同时属于 "checkin-test" 和 "func-test".
5.5 - Parameters
测试方法不要求是无参数的。你可以在每个测试方法上使用任意数量的参数,并指示testNG传递正确的参数。
有两种方式用于设置参数:使用testng.xml或者编程式。
5.5.1 - Parameters from testng.xml
如果你要为你的参数使用简单值,你可以在你的testng.xml中明确指定:
@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) {
System.out.println("Invoked testString " + firstName);
assert "Cedric".equals(firstName);
}
@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) {
System.out.println("Invoked testString " + firstName);
assert "Cedric".equals(firstName);
}
在这个代码中,我们明确指定java方法的参数“firstName”应该接收名为“first-name”xml参数的值。 这个xml参数在testng.xml中定义:
<suite>
<parameter value="Cedric"/>
<test>
<-- -->
同样的方法可以用于注解@Before/After和@Factory:
@Parameters({ "datasource", "jdbcDriver" })
@BeforeMethod
public void beforeTest(String ds, String driver) {
m_dataSource = ; // look up the value of datasource
m_jdbcDriver = driver;
}
@Parameters({ "datasource", "jdbcDriver" })
@BeforeMethod
public void beforeTest(String ds, String driver) {
m_dataSource = ; // look up the value of datasource
m_jdbcDriver = driver;
}
这次,两个java参数ds和driver将分别接收被设置给属性datasource和jdbc-driver的值。
参数可以通过可选注解来声明为可选:
@Parameters("db")
@Test
public void testNonExistentParameter(@Optional("mysql") String db) { }
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-72701-11.html
很有可比性
基本上禁不起推敲和考证