[java] JUnitParams를 이용한 시나리오 테스트 방법은 무엇인가요?
JUnitParams를 사용하는 방법은 다음과 같습니다.
- JUnitParams를 프로젝트에 추가합니다. Maven을 사용하는 경우,
pom.xml
파일에 다음 의존성을 추가합니다:
<dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<version>1.0.6</version>
<scope>test</scope>
</dependency>
- 테스트 클래스에
@RunWith
어노테이션을 사용하여JUnitParamsRunner
를 지정합니다.
@RunWith(JUnitParamsRunner.class)
public class MyTest {
// 테스트 메서드 작성
}
- 테스트 메서드에
@Parameters
어노테이션을 사용합니다.@Parameters
어노테이션은 매개변수화된 테스트 데이터를 제공하는 메서드를 지정합니다.
@Parameters
public static Object[][] testData() {
return new Object[][] {
{ 1, 1, 2 }, // 입력값과 기대값을 배열로 반환
{ 2, 2, 4 },
{ 3, 3, 6 }
};
}
- 테스트 메서드에서는 매개변수를 받아 테스트를 수행하면 됩니다. 매개변수는
@Parameters
어노테이션이 지정한 메서드에서 반환된 배열의 요소입니다.
@Test
@Parameters(method = "testData") // @Parameters 어노테이션으로 testData 메서드를 사용한다고 지정
public void testAdd(int a, int b, int expected) {
assertEquals(expected, Calculator.add(a, b)); // 기대값과 계산 결과를 비교
}
JUnitParams를 사용하면 동일한 테스트 메서드를 여러 입력값과 함께 실행할 수 있어 코드 중복을 줄일 수 있습니다. 또한, 테스트 데이터를 외부에서 가져오기도 쉽기 때문에 테스트의 유지보수성이 향상됩니다.