[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
메소드를 통해 테스트 데이터를 제공합니다. 이 메소드는 테스트 케이스의 입력과 예상 출력을 배열 형태로 반환하는 역할을 합니다. 위의 예시에서는 두 개의 테스트 케이스를 제공하였습니다.
테스트 메소드인 testSorting
은 int[] input
과 int[] expectedOutput
매개변수를 받아 분류 및 정렬 로직을 테스트하는 코드를 작성합니다. 테스트 데이터로 제공된 입력과 예상 출력을 비교하여 테스트를 수행합니다.
이와 같이 JUnitParams를 사용하면 매개변수화된 테스트를 작성하여 간편하게 분류 및 정렬 로직을 테스트할 수 있습니다.
참고: