我需要在我的testng.xml文件中传递一个整数数组,因为我使用它作为我的配置文件来对我编写的方法运行多个测试,以使其成为数据驱动的。
这种方法:
@Test(groups="runnable")
@Parameters({"fName","lName","childAges"})
public void test(String firstName, String lastName, Integer[] childAges);
在我的testng.xml文件中:
<test name="WyomingComplex4Kids (Positive)">
<parameter name="fName" value="John"/>
<parameter name="lName" value="Johnson"/>
<parameter name="childAges" value="{10,7,3,6}"/>
<parameter name="server" value="https://example.server.com/app/someRoute"/>
<parameter name="port" value="443"/>
<groups>
<run>
<include name="runnable"/>
</run>
</groups>
<classes>
<class name = "com.somecompany.test.EligibilityComplex1"/>
</classes>
</test>
接受一个包含子年龄的整数数组,这似乎不起作用。我是testng和测试的新手。有人可以帮我吗?我听说使用dataprovider tp传递复杂的对象(比如数组或列表),但我无法理解它是如何工作的,或者我如何在测试中使用它。因此,非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
在testng中没有指定{&#34; sdf&#34;,&#34; sdf&#34;}将被转换为数组的模式。您将收到不支持的类型参数错误。请参阅代码(convertType方法)here。只转换基本数据类型。
如果要将其转换为数组,则需要拆分并转换为数组。
数据提供者只是帮助您使用不同的数据运行相同的测试。在这种情况下,如果你说从excel读取所有数据,你仍然需要通过代码创建数组。