[java] JUnitParams를 활용한 분류 및 정렬 로직 테스트 방법은 어떻게 되나요?

먼저, JUnitParams를 프로젝트에 추가해야합니다. Maven을 사용하는 경우, 다음 의존성을 pom.xml 파일에 추가하십시오.

<dependency>
    <groupId>pl.pragmatists</groupId>
    <artifactId>JUnitParams</artifactId>
    <version>1.0.5</version>
    <scope>test</scope>
</dependency>

JUnitParams를 추가한 후에는 테스트 코드에서 @RunWith(JUnitParamsRunner.class) 어노테이션을 사용하여 JUnitParamsRunner를 사용하도록 설정해야합니다.

import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(JUnitParamsRunner.class)
public class SortingTest {

    @Before
    public void setUp() {
        // 테스트 셋업 로직
    }

    @Test
    @Parameters(method = "sortingTestData")
    public void testSorting(int[] input, int[] expectedOutput) {
        // 분류 및 정렬 로직 테스트 코드
    }

    private Object[] sortingTestData() {
        return new Object[] {
            new Object[] { new int[] { 4, 2, 3, 1 }, new int[] { 1, 2, 3, 4 } },
            new Object[] { new int[] { 7, 5, 2, 8 }, new int[] { 2, 5, 7, 8 } },
            // 추가 테스트 데이터
        };
    }
}

위의 예시 코드에서는 @Parameters 어노테이션을 사용하여 sortingTestData 메소드를 통해 테스트 데이터를 제공합니다. 이 메소드는 테스트 케이스의 입력과 예상 출력을 배열 형태로 반환하는 역할을 합니다. 위의 예시에서는 두 개의 테스트 케이스를 제공하였습니다.

테스트 메소드인 testSortingint[] inputint[] expectedOutput 매개변수를 받아 분류 및 정렬 로직을 테스트하는 코드를 작성합니다. 테스트 데이터로 제공된 입력과 예상 출력을 비교하여 테스트를 수행합니다.

이와 같이 JUnitParams를 사용하면 매개변수화된 테스트를 작성하여 간편하게 분류 및 정렬 로직을 테스트할 수 있습니다.

참고: