[java] JUnitParams에서 동적으로 테스트 데이터를 생성하는 방법은 무엇인가요?
JUnitParams에서 동적으로 테스트 데이터를 생성하는 방법은 다음과 같습니다:
- @RunWith 및 @Parameters 어노테이션을 사용하여 테스트 클래스를 설정합니다.
@RunWith(JUnitParamsRunner.class)
public class MyTest {
@Test
@Parameters(method = "testData")
public void myTestMethod(String param1, int param2) {
// 테스트 로직 실행
}
private Object[] testData() {
return new Object[]{
new Object[]{"data1", 1},
new Object[]{"data2", 2},
new Object[]{"data3", 3}
};
}
}
- 테스트 메서드에 @Parameters 어노테이션을 사용하여 테스트 데이터를 정의합니다. 매개 변수로 받을 데이터의 개수와 형식에 맞게 배열 또는 Iterable 객체를 반환하는 메서드를 정의합니다.
@RunWith(JUnitParamsRunner.class)
public class MyTest {
@Test
@Parameters({"data1, 1", "data2, 2", "data3, 3"})
public void myTestMethod(String param1, int param2) {
// 테스트 로직 실행
}
}
위의 예시에서는 myTestMethod
라는 테스트 메서드에 param1
과 param2
라는 두 개의 매개 변수를 받습니다. testData
라는 메서드는 Object
배열을 반환하며, 배열의 각 요소는 param1
과 param2
의 값을 설정합니다.
JUnitParams를 사용하면 테스트 데이터를 보다 동적으로 생성하여 다양한 케이스에 대해 테스트할 수 있습니다. 자세한 내용은 JUnitParams GitHub 페이지를 참고하시기 바랍니다.