nextstep에서 진행하는 자바 플레이그라운드 with TDD, 클린코드 학습 내용입니다. 혼자 작성해본 연습 코드, 피드백 받은 내용을 정리합니다. 해당 코드를 더 나은 방향으로 개선할 수 있다면 댓글로 조언 꼭 부탁드립니다!
public class setTest {
private Set<Integer> numbers;
@BeforeEach
void setUp() {
numbers = new HashSet<>();
numbers.add(1);
numbers.add(1);
numbers.add(2);
numbers.add(3);
}
@Test
public void Set_콜렉션의_사이즈_구하기() {
assertThat(numbers.size()).isEqualTo(3);
}
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
public void ParameterizedTest_사용해_복수의_인자_넘기기(int compareNumber) {
System.out.println(compareNumber);
assertThat(numbers).contains(compareNumber);
//junit 5에서는 @ParameterizedTest를 쓸 때 @Test는 안 붙여도 됨 -> 붙여서 쓸 경우
// org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [int arg0] in method
//에러 발생
}
@ParameterizedTest
@CsvSource(value = {"1:true", "2:true", "3:true", "4:false", "5:false"}, delimiter = ':')
public void CsvSource를_사용해_입력한_값에_따라_다른_결과값_테스트하기(int compareNumber) {
assertThat(numbers).contains(compareNumber);
}
}