IT/Java

[JUnit] TDD를 편하게 하기 위한 JUnit 사용법

어린이개발자 2023. 3. 25. 13:22

NEXTSTEP 에서 박재성 님의 "자바 플레이그라운드 with TDD, 클린코드" 강의를 듣고 TDD 를 시작해보려고 하는 중 유용하다고 생각되는 항목들에 대해 차근차근 정리해 나가려고 한다.

 

1. @ParameterizedTest

  - 목적: 중복 코드를 제거하기 위해 사용

  - 사용법

private Set<Integer> numbers;

@BeforeEach // Test 전 Data Setting
void setUp() {
    numbers = new HashSet<>();
    numbers.add(1);
    numbers.add(1);
    numbers.add(2);
    numbers.add(3);
}

@ParameterizedTest // 중복 제거
@ValueSource(ints = {1, 2, 3}) // 테스트 대상
void containsV2(int value) {
    assertThat(numbers.contains(value)).isTrue();
}

Boolean checkOverThree(int number) {
    return number > 0 && number <= 3;
}

@ParameterizedTest
// parameter 두 개 이상 사용할 때
@CsvSource(value = {"1:True", "2:True", "3:True", "4:False", "5:False"}, delimiter = ':')
void containsV3(int input, boolean tf) {
    assertThat(checkOverThree(input)).isEqualTo(tf);
}

학습을 이어나가면서 다른 항목들도 정리 예정이다.

'IT > Java' 카테고리의 다른 글

[Java] volatile 키워드  (1) 2024.12.09
[Java] JVM의 Garbage Collector  (0) 2023.05.21
[Quartz] Quartz 스케줄러 적용의 건  (0) 2023.01.13
2021-03-13 일지1  (0) 2021.03.13
2021-03-11 일지1  (0) 2021.03.11