[java] JUnitParams에서의 Parameterized Test는 무엇인가요?

파라미터화된 테스트는 같은 테스트 시나리오를 다양한 입력값으로 실행하여 테스트의 유연성과 재사용성을 높히는 방법입니다. 이를 통해 테스트 코드를 간결하게 작성하고, 다양한 테스트 케이스를 한번에 실행해 볼 수 있습니다.

JUnitParams에서의 Parameterized Test 작성 방법은 크게 두 가지입니다. 첫 번째 방법은 @RunWith 어노테이션을 통해 JUnitParamsRunner를 설정하는 것입니다. 이러한 설정을 통해 클래스에 파라미터화된 테스트 메서드를 작성할 수 있습니다.

두 번째 방법은 @Parameters@Test 어노테이션을 사용하여 파라미터화된 테스트 메서드를 작성하는 것입니다. @Parameters 어노테이션은 새로운 데이터 세트를 생성하는 메서드를 가리키며, @Test 어노테이션은 파라미터화된 테스트 메서드를 가리킵니다.

아래는 JUnitParams를 사용한 Parameterized Test의 예시 코드입니다:

@RunWith(JUnitParamsRunner.class)
public class MyParameterizedTest {

    @Test
    @Parameters({"2, 3, 5", "4, 6, 10", "10, 0, 10"})
    public void testAdd(int num1, int num2, int expected) {
        int result = Calculator.add(num1, num2);
        assertEquals(expected, result);
    }
}

위의 예시 코드에서 @Parameters 어노테이션을 사용하여 testAdd 메서드에 데이터 세트를 정의하고 있습니다. 이렇게 정의된 데이터 세트는 각각 num1, num2, expected라는 변수에 바인딩되어 테스트가 실행됩니다.

이와 같이 JUnitParams의 Parameterized Test를 사용하면 다양한 입력값을 사용하여 테스트를 실행할 수 있으므로, 테스트 코드를 보다 유연하고 간결하게 작성할 수 있습니다.