티스토리 뷰
Development/Technical Interview
[면접 준비 - Spring]JUnit, Hamcrest, Assertion
Vagabund.Gni 2022. 12. 13. 21:51728x90
반응형
먼저 테스트 케이스의 5대 원칙이다.
- Fast - 빨라야 한다.
- Independent/Isolation - 실행 순서에 독립적이어야 한다.
- Repeatable - 어떤 환경에서도 반복해서 작동, 같은 결과를 내보내야 한다.
- Self-Validating - 자체적으로 검증 결과를 판단할 수 있어야 한다.
- Timely - 기능 구현 직전에 작성해야 한다. 혹은 기능의 업데이트에 맞춰 즉시 개선해야 한다.
JUnit
JUnit은 스프링에서 지원하는, 가장 많이 사용되는 테스팅 프레임워크이다.
Spring Boot Initializr에서 Gradle 기반의 프로젝트를 생성하면 기본적으로 테스트 패키지가 생성되며, JUnit을 포함한
testImplementation 'org.springframework.boot:spring-boot-starter-test'
의존성이 build.gradle 안에 자동으로 추가된다. 즉, 별도의 의존성 추가가 필요하지 않다.
추가로 주로 비즈니스 로직의 단위 테스트에 사용된다.
Hamcrest
Hamcrest는 이런 JUnit을 지원하는 Assertion 라이브러리 중 하나이며,
이름 자체가 Matcher의 애너그램일 만큼 Assertion의 Matcher에 특화된 라이브러리이다.
검증 메서드와 콘솔 로그에 쓰이는 문장을 조금 더 읽기 좋게 다듬어 준다.
Assertion
Assertion은 직역하면 단언, 선언 등이다.
JUnit의 맥락에서 Assertion이란 테스트 케이스의 참/거짓에 대한 단언이라고 해석할 수 있다.
참/거짓에 대한 단언이라는 말처럼 테스트 값이 기대와 같은지를 boolean으로 반환하며,
대표적인 메서드로
- assertEqual() - 두 대상이 일치하는지 검증
- assertNotNull() - 대상이 null이 아닌지 검증
- assertionThrow() - 메서드 호출 시 특정 Exception이 발생하는지 검증
등이 있다.
반응형
'Development > Technical Interview' 카테고리의 다른 글
[면접 준비 - Java]static 키워드에 대하여 (2) | 2022.12.14 |
---|---|
[면접 준비 - Java]추상 클래스와 인터페이스 (0) | 2022.12.14 |
[면접 준비 - Spring]Spring Boot 프로젝트에서 yml profile 설정 (2) | 2022.12.13 |
[면접 준비 - Spring]트랜잭션(Transaction)에 대하여 (0) | 2022.12.13 |
[면접 준비 - Spring]Spring JDBC, Spring Data JDBC, Spring Data JPA (0) | 2022.12.13 |
[면접 준비 - Spring]DTO에 관하여 (0) | 2022.12.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- BOJ
- 중남미
- RX100M5
- 야경
- spring
- 백준
- 여행
- 세모
- 세계여행
- 지지
- 세계일주
- 유럽여행
- 스트림
- 면접 준비
- 리스트
- 기술면접
- java
- 맛집
- 파이썬
- 유럽
- Algorithm
- 스프링
- a6000
- 남미
- 동적계획법
- 칼이사
- 자바
- 알고리즘
- Python
- Backjoon
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함