如何传递整数数组testng.xml

时间:2014-10-07 15:08:20

标签: java testng functional-testing

我需要在我的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传递复杂的对象(比如数组或列表),但我无法理解它是如何工作的,或者我如何在测试中使用它。因此,非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

在testng中没有指定{&#34; sdf&#34;,&#34; sdf&#34;}将被转换为数组的模式。您将收到不支持的类型参数错误。请参阅代码(convertType方法)here。只转换基本数据类型。

如果要将其转换为数组,则需要拆分并转换为数组。

数据提供者只是帮助您使用不同的数据运行相同的测试。在这种情况下,如果你说从excel读取所有数据,你仍然需要通过代码创建数组。