[java] JUnitParams와 Mockito를 함께 사용하는 방법은 어떻게 되나요?
JUnitParams와 Mockito는 자바에서 유닛 테스트를 작성하는 데 도움을 주는 인기 있는 라이브러리입니다. JUnitParams는 매개 변수화된 테스트 케이스를 작성할 수 있게 해주고, Mockito는 가짜 객체를 생성해 테스트 대상과의 상호작용을 검증하는 데 사용됩니다.
이 두 라이브러리를 함께 사용하면 테스트 코드를 더 쉽게 작성하고 유지보수할 수 있습니다. 아래는 JUnitParams와 Mockito를 함께 사용하는 간단한 예제 코드입니다.
import static org.mockito.Mockito.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
@RunWith(JUnitParamsRunner.class)
public class ExampleTest {
@Test
@Parameters({
"3, 2, 5",
"4, 6, 10",
"8, 7, 15"
})
public void testAdd(int a, int b, int expected) {
// 가짜 객체 생성
Calculator calculator = mock(Calculator.class);
// 가짜 객체의 메서드 호출 결과 지정
when(calculator.add(a, b)).thenReturn(expected);
// 테스트 대상 호출
int actual = calculator.add(a, b);
// 검증
verify(calculator).add(a, b);
assertEquals(expected, actual);
}
}
위 예제 코드에서는 ExampleTest
라는 테스트 클래스를 작성했습니다. @RunWith(JUnitParamsRunner.class)
애너테이션을 사용하여 JUnitParams를 사용하고, @Parameters
애너테이션을 사용하여 테스트 케이스의 매개 변수를 설정했습니다.
testAdd
라는 테스트 메서드는 매개 변수로 a
, b
, expected
를 받아 테스트를 수행합니다. 테스트 코드 안에서는 Mockito를 사용하여 Calculator
라는 가짜 객체를 생성하고, when
을 사용하여 add
메서드의 결과를 지정했습니다. 그 후, 테스트 대상인 calculator.add(a, b)
를 호출하고 결과를 검증합니다.
이와 같이 JUnitParams와 Mockito를 함께 사용하여 테스트 코드를 작성하면, 매개 변수화된 테스트 케이스를 작성하고 관련된 객체의 동작을 가짜 객체를 통해 검증할 수 있습니다.