본문 바로가기
개발/JAVA

[JUNIT] 테스트 코드 연습[1]

by 설이주인 2022. 6. 2.

TestCode와 친해지고 싶어서 작성하는 게시물 시리즈입니다.

조언, 멘트 언제나 감사합니다

 

1. 요구사항

package clsString;

import lombok.extern.java.Log;

@Log
public class ClsString {

    /**
     * 요구사항 1
     1 - "1,2"을 ,로 split 했을 때 1과 2로 잘 분리되는지 확인하는 학습 테스트를 구현한다.
     2 - "1"을 ,로 split 했을 때 1만을 포함하는 배열이 반환되는지에 대한 학습 테스트를 구현한다.
     * */

  public static String[] requiredSplit(String input){
    String[] output = input.split(",");
    return output;
  }

  public static String[] requiredSplitTwo(String input){
      String[] output = input.split("," , 1);
      return output;
  }

}
package clsString;

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

import java.util.List;

import static org.assertj.core.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;

class ClsStringTest {

  private static ClsString cls;

  /**
   * 배열로 반환하는 값의 경우 assertj의 contains()를 활용해 반환 값이 맞는지 검증한다.
   * 배열로 반환하는 값의 경우 assertj의 containsExactly()를 활용해 반환 값이 맞는지 검증한다.
   * */

  @BeforeAll
  public static void setup() {
    cls = new ClsString();
  }

  @Test
  @DisplayName("그냥 split_AssertArrayEquals")
  void requiredSplit() {
    /** input -> "1,2"
     *  split(",")
     * */

    /** assertArrayEquals()
     *  AssertArrayEquals.assertArrayEquals(expected, actual);
     * */
    String[] result = cls.requiredSplit("1,2");
    assertArrayEquals(new String[] {"1","2"}, "1,2".split(","));
  }

  @Test
  @DisplayName("AssertThat - contains")
  void requiredSplit_that(){
    /** input -> "1,2"
     *  split(",")
     *  AssertThat contains
     * */

    /** assertThat()
     * */
    List<String> resultList = List.of(cls.requiredSplit("1,2"));
    assertThat(resultList).contains("1");
  }

  @Test
  @DisplayName("split - only 1")
  void requiredSplitTwo() {
    /** input -> "1,2"
     *  split(",", 1)
     *  AssertThat containsExactly
     * */
    String[] result = cls.requiredSplitTwo("1");
    assertThat(result).containsExactly("1");
  }
}

생각할 점

split -> Array

 

contains -> List

'개발 > JAVA' 카테고리의 다른 글

Iterator  (0) 2022.07.11
자바 8 정리  (0) 2022.07.08
Junit - Assert 메소드  (0) 2022.06.02
[JAVA] StringTokenizer  (0) 2022.05.23
[JAVA] BufferedReader  (0) 2022.05.23