테스트 코드를 작성하는 이유
- 문서화 역할
- 코드에 결함을 발견하기 위해
- 리팩톨이 시 안정성 확보
- 테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 의존도를 가진 설계가 가능
테스트 코드 프레임워크&라이브러리
- Java 단위 테스트 프레임워크
- JUnit5 : 가장 많이 사용
- 인텔리제이에서 프로젝트 생성시 기본 포함되어 있다.
- JUnit5 : 가장 많이 사용
JUnit 5 User Guide
Although the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runners natively, it is not expected that source code maintainers will need to update all of their existing tests, test extensions, and custo
junit.org
- 가독성을 향상시키는 라이브러리
- AssertJ : 오류메시지를 제공하고 테스트 코드 가독성을 향상시키는 Java 라이브러리
https://assertj.github.io/doc/
- AssertJ : 오류메시지를 제공하고 테스트 코드 가독성을 향상시키는 Java 라이브러리
AssertJ - fluent assertions java library
Thanks to all the contributors of this release: Erhard Pointl, Stefano Cordio, BJ Hargrave, Jeremy Landis, Ashley Scopes, Roland Weisleder , Benedikt Bogason , Andreas Kutschera , Matthew , Chris HeZean , Leo0506 , Zhou Yicheng , Saria , Chunhao Liao , max
assertj.github.io
testImplementation 'org.assertj:assertj-core:3.24.2'
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;
public class SimpleAssertionsExample {
@Test
void a_few_simple_assertions() {
assertThat("The Lord of the Rings").isNotNull()
.startsWith("The")
.contains("Lord")
.endsWith("Rings");
}
}
TDD란?
- Test Driven Development 테스트 주도 개발
- 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법
- TFD(Test First Development)라고 불리기도 한다.
- 기능 동작을 검증 (메소드 단위)
BDD란?
- Behavior Driven Development 행위 주도 개발
- 시나리오 기반으로 테스트 코드를 작성하는 개발 방법
- 하나의 시나리오는 Given, When, Then 구조를 가짐
보통 TDD와 BDD를 혼용해서 사용한다.
'SPRING' 카테고리의 다른 글
Servlet (0) | 2023.06.01 |
---|---|
음식점에서 음식 주문 Project_MenuItem (0) | 2023.05.19 |
도커(docker)설치 후 MySQL에 접속하는 방법 (0) | 2023.05.09 |
도커(docker)란? (1) | 2023.05.09 |
View 환경설정 (spring-boot-devtools) (0) | 2023.03.02 |