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 |