수색…


데이터 제공 업체

데이터 공급자를 사용하면 여러 테스트 입력을 테스트 내에서 실행할 수 있습니다. 숫자가 올바르게 두 배로되었는지 확인하는 테스트를 고려해 보겠습니다. 데이터 공급자를 만들려면 @DataProvider 주석이 붙은 Object[][] 또는 Iterator<Object[]> 를 반환하는 정적 메서드를 제공합니다.이 메서드는 @DataProvider 주석으로 주석 처리되며 속성 name 은 공급자.

import org.testng.annotations.DataProvider;

public class DoublingDataProvider {
    public final static String DOUBLING_DATA_PROVIDER = "doublingDataProvider";

    @DataProvider(name = DOUBLING_DATA_PROVIDER)
    public static Object[][] doubling() {
        return new Object[][]{
                new Object[]{1, 2},
                new Object[]{2, 4},
                new Object[]{3, 6}
        };
    }
}

위의 경우 각 Object[] 는 단일 테스트 케이스에 대한 데이터 세트를 나타냅니다. 여기서 두 배가되는 숫자와 두 배가 된 후 예상 값이 이어집니다.

데이터 공급자를 사용하려면 테스트의 dataProvider 속성을 공급자 이름으로 채 웁니다. 공급자 메서드가 테스트 클래스 나 기본 클래스 외부에 정의 된 경우 dataProviderClass 속성도 지정해야합니다. 테스트 메소드는 테스트 케이스 설명의 요소에 해당하는 매개 변수를 가져야합니다. 여기에는 두 개의 int가 있습니다.

import org.testng.annotations.Test;

import static org.testng.Assert.assertEquals;

public class DoublingTest {

    @Test(dataProvider = DoublingDataProvider.DOUBLING_DATA_PROVIDER, dataProviderClass = DoublingDataProvider.class)
    public void testDoubling(int number, int expectedResult) {
        assertEquals(number * 2, expectedResult);
    }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow