책1을 실습하는 스프링 부트 프로젝트에선 Spring Boot 2.1.7 버전을 사용했다.
JUnit
1. 자바의 대표적인 Testing Framework (Mocha나 Jest 생각하면 될 듯)
2. 다양한 언어를 지원하는 xUnit의 자바 버전
3. JUnit5까지 나왔지만, 대부분의 회사에서 JUnit4로 테스트
4. spring-boot-starter-test를 의존성에 추가하면 JUnit을 사용할 수 있다.
-> Before 2.2.0: JUnit 4 포함
-> From 2.2.0: JUnit 5 포함
JUnit의 유용한 메소드 및 어노테이션
setUp()
- 테스트 대상 클래스 실행 전, 가장 먼저 setUp()을 실행한다. (네트워크 연결, DB 커넥션 등)
tearDown()
- 테스트 대상 클래스의 마지막에 수행된다. (네트워크 연결 종료, DB 커넥션 종료 등)
- setUp()과 tearDown()은 테스트 케이스를 진행할 때마다 실행
(계속해서 Unit test해가니까!)
@Test
- 테스트 대상 메소드임을 의미
@BeforeClass / @AfterClass
- 해당 테스트가 시작되기 전에 / 이후에, 단 한번만 수행되도록 지정
@Before / @After
- 함수버전
- @After의 경우, 테스트할 때 사용하는 In-memory DB H2을 clear하는데 사용된다.
@Ignore
- 테스트 케이스를 무시할 수 있다.
AssertJ
1. assertion 메소드를 제공하는 자바 라이브러리
2. JUnit의 assertion 메소드에 비해, 에러 메세지와 테스트 코드의 가독성이 높다. (by 메소드 체이닝)
3. JUnit과 마찬가지로 spring-boot-starter-test를 의존성에 추가하면 사용할 수 있다.
AssertJ의 유용한 메소드
- 문자열 관련
isEqualTo( )
startsWith( )
endsWith( )
contains( )
doesNotContain( )
isNotEmpty( )
- 숫자 관련
isPositive( )
isGreaterThan( )
isLessThan( )
- 시간 관련 (LocalDateTime)
isBefore( )
isAfter( )
h2
- In-memory RDB
- 별도 설치 없이, 의존성 추가만으로 사용 가능
- 메모리에서 실행 -> 어플리케이션 재시작마다 초기화 -> 테스트 용도로 사용!
dependencies {
compile('com.h2database:h2')
}
출처
'학습 > Java' 카테고리의 다른 글
[java] Mustache 사용하기 (3) | 2020.02.15 |
---|---|
[java] 템플릿 엔진 / SSR & CSR / JSP와 Mustache / 정적파일 (0) | 2020.02.10 |
[java] @Entity와 @Builder (0) | 2020.02.05 |
[java] Shy Code를 깨트리는 Lombok의 @Data 어노테이션 (0) | 2020.01.23 |
[java] war파일 import하여 코드 수정한 뒤, 다시 export하기 (0) | 2019.05.29 |
댓글