https://shinsunyoung.tistory.com/99?category=327358
안녕하세요! 이번 포스팅에서는 JUnit4에서 사용할 수 있는 JUnitParams에 대해 소개해드리려고 합니다.
// 만약 위 세 개의 테스트를 하나의 테스트로 돌릴 수 있다면?
@Test
public void positiveTest1() {
Positive positive = new Positive(1);
assertThat(positive.isPositive()).isEqualTo(true);
}
@Test
public void positiveTest2() {
Positive positive = new Positive(5);
assertThat(positive.isPositive()).isEqualTo(true);
}
@Test
public void positiveTest3() {
Positive positive = new Positive(-1);
assertThat(positive.isPositive()).isEqualTo(false);
}
JUnitParams를 사용하면 위 테스트들과 같이 값만 다르고 나머지 로직이 똑같은 테스트들을 테스트 하나로 여러 값을 반복해서 돌릴 수 있습니다. 전체 코드는 Github에서 확인이 가능합니다.
⚠️ 해당 포스팅은 Junit4를 기준으로 작성되었습니다. (Junit5에서는 사용법이 바뀌었습니다.)
build.gradle
testCompile("pl.pragmatists:JUnitParams:1.1.0")
JUnitParams를 사용하기 위해 의존성을 추가해줍니다.
Positive.class
public class Positive {
private int number;
private boolean isPositive;
public boolean isPositive() {
return isPositive;
}
public Positive(int number) {
this.number = number;
this.isPositive = number > 0;
}
}
테스트용 도메인으로 Positive라는 클래스를 만들어주었습니다. 생성할 때 입력받는 숫자(number)가 양수라면 isPositive가 true를, 음수라면 false를 반환합니다.
PositiveTest.class
@RunWith(JUnitParamsRunner.class)
public class PositiveTest {
}
JunitParams를 사용하기 위해서는 @RunWith에 JunitParamsRunner를 추가해주어야합니다.