📝오늘 공부한 것
- 스파르타코딩클럽 Spring 심화주차 test 코드 부분 강의 듣기
알게 된 점❗
단위 테스트
- 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법
- 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점이 있음.
JUnit5
- 자바 프로그래밍 언어용 단위 테스트 프레임워크
[Before – After]
- @BeforeEach : 각각의 테스트 코드가 실행되기 전에 수행되는 메서드를 만들어 줌.
- @AfterEach : 각각의 테스트 코드가 실행된 후에 수행되는 메서드를 만들어 줌.
- @BeforeAll : 모든 코드가 수행되기 전에 최초로 수행되는 메서드를 만들어 줌. static 메서드로 만들어야 함.
- @AfterAll : 모든 테스트 코드가 수행된 후 마지막으로 수행되는 메서드를 만들어 줌. static 메서드로 만들어야합니다.
[테스트 꾸미기]
- @DisplayName : 테스트의 내용을 한눈에 알아볼 수 있게 네이밍 해줌. 테스트의 수행 내용들을 빠르게 파악할 수 있음.
- @Nested : 주제 별로 테스트를 그룹지어서 파악하기 좋음.
- @Order : 테스트를 메서드 단위로 순서를 매길 때는 @TestMethodOrder(MethodOrderer.OrderAnnotation.class) 애너테이션 설정을 해야함. 그런 다음 원하는 순서에 맞게 메서드에 @Order() 애너테이션을 추가하고 () 괄호안에 순서를 입력
[테스트 반복하기]
- @RepeatedTest :
- @RepeatedTest를 사용하여 해당 테스트 메서드를 반복할 수 있음.
- name 속성을 사용하여 네이밍할 수 있음.
- RepetitionInfo 값을 파라미터로 받아서 현재 반복 횟수와 총 횟수 값을 확인할 수 있음.
- @ParameterizedTest :
- @ParameterizedTest를 사용하여 파라미터를 받아 테스트할 수 있는 메서드를 만들 수 있음.
- @ValueSource(ints= {1,2,3,4,5,6,7,8,9}를 사용하여 파라미터 값을 전달할 수 있음.
- 전달되는 파라미터 수 만큼 테스트 메서드가 수행
- int, String 등 여러 타입의 파라미터를 전달할 수 있음.
[Given – When – Then 패턴]
- Test Code 스타일을 표현하는 방식
Given : 테스트 하고자하는 대상을 실행하기 전에 테스트에 필요한 값(상태)을 미리 선언
When : 테스트 하고자하는 대상을 실제로 실행
Then : 어떤 특정한 행동(테스트 대상 실행) 때문에 발생할거라고 예상되는 결과에 대해 예측하고 맞는지 확인
https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations
느낀 점🤔
프로젝트 진행 중 기술 매니저님의 test코드를 작성해보라는 피드백이 있었다. 그래서 spring강의 심화부분에 test코드부분이 있다는 것이 기억나서 test코드 부분만 먼저 들어보았다. 강의에서는 test코드가 무엇인가에 대한 대략적인 것들만 나와있어서 이 강의를 듣고 직접 test코드를 작성해보기엔 어렵겠다는 생각이 들었다. 다음 프로젝트에서는 간단한 test코드부터 작성해봐야겠다.
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-230728(항해99 실전 프로젝트-행동대장(1)) (0) | 2023.07.29 |
---|---|
TIL-230727(클론코딩-오늘의집(5)) (0) | 2023.07.27 |
TIL-230725(클론코딩-오늘의집(4)) (0) | 2023.07.25 |
TIL-230724(클론코딩-오늘의집(3)) (0) | 2023.07.24 |
TIL-230722(클론코딩-오늘의 집(2)) (0) | 2023.07.22 |