为什么在TestNg参数注释语法中使用{}

时间:2019-03-03 14:27:53

标签: testng

我想知道为什么<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.15.Final</version> </dependency> @parameter({"a,"b"})的语法具有此附加的{}括号。

我对此主题的研究可能是因为我们必须在此处指定多个数据。

让我认为在参数testNG中使用{}的原因是不同的,我们可以像@Test这样传递多个数据,而在这里不使用@Test(priority=1, enabled=true) {}

请帮助我理解这一点,无论我的想法是朝着正确的方向还是在后面。

1 个答案:

答案 0 :(得分:0)

括号用于数组/列表。

在TestNG的 org.testng.annotations.Parameters 中,您可以看到只有一个方法声明返回String []:

/**
 * The list of variables used to fill the parameters of this method.
 * These variables must be defined in your testng.xml file.
 * For example
 * <p>
 * <code>
 * &#064;Parameters({ "xmlPath" })<br>
 * &#064;Test<br>
 * public void verifyXmlFile(String path) { ... }<br>
 * </code>
 * <p>and in <tt>testng.xml</tt>:<p>
 * <code>
 * &lt;parameter name="xmlPath" value="account.xml" /&gt;<br>
 * </code>
 */
public String[] value() default {};

与之相比,您可以在TestNG的 org.testng.annotations.Test 中看到,即 priority 返回int:

/**
 * The scheduling priority. Lower priorities will be scheduled first.
 */
int priority() default 0;