2014-10-07 3 views
0

정수 배열을 내 testng.xml 파일에 전달해야합니다. 왜냐하면 필자가 작성한 메소드에서 여러 테스트를 실행하기 위해 구성 파일로 사용하기 때문입니다. .정수 배열을 건네주는 방법 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

{ "sdf", "sdf"}가 배열로 변환되는 패턴이 testng에 지정되어 있지 않습니다. 지원되지 않는 유형 매개 변수 오류가 발생합니다. 코드 참조 (convertType 메소드) here. 기본 데이터 유형 만 변환됩니다.

배열로 변환하려면 배열로 분할하고 변환해야합니다.

dataprovider는 다른 데이터로 동일한 테스트를 실행하는 데 도움이됩니다. 이 경우에도 모든 데이터를 Excel에서 읽는다면 코드를 통해 배열을 만들어야합니다.

+0

예를 들어 주시겠습니까? 코드 – mosawi

+0

처럼 문자열로 읽고 split 메소드를 사용하고 Int 값을 파싱해야합니다. Integer []를 메서드 테스트에서 String으로 변경 - xml의 매개 변수 값에서 {}을 제거합니다. childAges.split (",")을 사용하십시오.이 배열은 배열로 주어진 다음 루프와 parseInt를 통해 전달됩니다. –