XML 中的 TestNG 值集
TestNG set of values in XML
我正在尝试学习 TestNG,想知道这是否可行。我有一个字符串参数,想根据值列表对其进行测试。例如,我有这个 XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite">
<test name="test">
<parameter name="str1" value="10"/>
<parameter name="str2" value="22"/>
<!-- Hypothetical
<acceptedValues values="1","2","3",etc.../>
-->
<classes>
<class name="testng.something.com.ClassName" />
</classes>
</test>
</suite>
Java代码:
@Test
@Parameters("str1")
public void testStr1(String str1)
{
// Compare str1 with the accepted values in the XML
}
基本上,我希望能够向 XML 添加一些内容,以便我可以将参数与值列表进行比较,其中任何一个值都会使它成立。
相反,更适合这种情况的替代方法是 using data provider。例如:
@Test(dataProvider = "HypotheticalData")
public void test(Integer n) {
// ...
}
@DataProvider(name = "HypotheticalData")
public Object[][] createHypotheticalData() {
return new Object[][] {
new Object[] { new Integer(10) },
new Object[] { new Integer(22) }
};
}
我正在尝试学习 TestNG,想知道这是否可行。我有一个字符串参数,想根据值列表对其进行测试。例如,我有这个 XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite">
<test name="test">
<parameter name="str1" value="10"/>
<parameter name="str2" value="22"/>
<!-- Hypothetical
<acceptedValues values="1","2","3",etc.../>
-->
<classes>
<class name="testng.something.com.ClassName" />
</classes>
</test>
</suite>
Java代码:
@Test
@Parameters("str1")
public void testStr1(String str1)
{
// Compare str1 with the accepted values in the XML
}
基本上,我希望能够向 XML 添加一些内容,以便我可以将参数与值列表进行比较,其中任何一个值都会使它成立。
相反,更适合这种情况的替代方法是 using data provider。例如:
@Test(dataProvider = "HypotheticalData")
public void test(Integer n) {
// ...
}
@DataProvider(name = "HypotheticalData")
public Object[][] createHypotheticalData() {
return new Object[][] {
new Object[] { new Integer(10) },
new Object[] { new Integer(22) }
};
}