Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- #프로그래머스
- #프로그래머스 #코딩 #자바 #왼쪽오른쪽
- @autoconfigurationmockmvc
- #프로그래머스 #코딩 #자바 #문자열여러번뒤집기
- Git
- #프로그래머스 #코딩 #자바 #수열과구간쿼리2
- springboot #스프링부트 #junit #제이유닛 #라이프사이클 #@beforeall #@beforeeach #@afterall #@aftereach
- springboot #sprinigbatch #job #step #스프링부트배치 #스프링배치
- #프로그래머스 #자바 #코딩 #전국대회선발
- #프로그래머스 #코딩 #자바 #2의영역
- #프로그래머스 #자바 #코딩 #무작위로k개의수뽑기
- #프로그래머스 #코딩 #자바 #문자열묶기
- #프로그래머스 #코딩 #자바 #수열과구간쿼리3
- springboot #스프링투브
- springboot #스프링부트 #junit #junit #제이유닛 #단위테스트코드 #테스트 #test #test
- #springbatch #springboot #스프링배치 #스프링부트 #배치 #joblauncher #job #step #itemreader #itemprocessor #itemwriter
- #신념 #철학 #유쾌함 #후회 #자책
- #batch #스케줄러 #배치스케줄러
- springboot #@beforeall #@afterall
- JPA
- #프로그래머스 #코딩 #자바 #리스트자르기
- 제이피에이
- 코딩 #자바 #조건에맞게수열변환하기2
- #springbatch #springboot #스프링배치 #스프링부트 #배치 #joblauncher #job #step #batchconfig #배치설정 #chunk
- dbeaver sqlite
- #프로그래머스 #자바 #코딩 #배열만들기2
- springboot #스프링부트
- 깃
- 컨트롤러테스트코드
- #프로그래머스 #코딩 #자바 #문자열이몇번등장하는지세기
Archives
- Today
- Total
David의 블로그
[JUnit] JUnit 테스트 코드 라이프 사이클 본문
반응형
JUnit은 어노테이션에 따라 실행순서를 정할 수 있다.
일종에 라이프 사이클이 존재한다는 것이다.
어노테이션 이름만 봐도 얼추 실행될 시점을 알수가 있다.
정확한건 아래 코드를 통해서 알아보도록 하자!.
[JUnitCycleTest.java]
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
package com.example.demo;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class JUnitCycleTest {
@BeforeAll // 전체 테스트를 시작하기 전에 1회 실행하므로 static으로 선언.
static void beforeAll() {
System.out.println("@BeforeAll~!!");
}
@BeforeEach // 테스트 케이스를 시작하기 전마다 실행.
public void beforeEach() {
System.out.println("@BeforeEach!!");
}
@Test
public void test1() {
System.out.println("test1!~~~");
}
@Test
public void test2() {
System.out.println("test2!~~~");
}
@Test
public void test3() {
System.out.println("test3!~~~");
}
@AfterAll
static void afterAll() { // 전체테스트를 마치고 종료하기 전에 1회 실행하므로 메소드는 static으로 선언
System.out.println("@AfterAll~!!!");
}
@AfterEach
public void afterEach() { // 테스트 케이스를 종료하기 전마다 실행
System.out.println("@AfterEach~!!!");
}
}
|
cs |
자!. 어떠한가?? 대충 어떤 시점에 실행되는지 짐작이 가지 않는가??
12번 : @BeforeAll 어노테이션은 전체 테스트를 시작하기 전에 처음으로 딱 한 번만 실행이 된다. 예를 들어 DB를 연결하거나
테스트 환경을 초기화 할 때 사용. 전체 테스트 실행 주기에서 한 번만 실행돼야해서 static으로 선언.
17번 : @BeforeEach 어노테이션은 테스트 케이스를 시작하기 전에 매번 실행.
37번 : @AtferAll 어노테이션은 전체 테스트를 마치고 종료하기 전에 딱 한 번만 실행. @BeforeAll 어노테이션과 마찬가지로
실행 주기에서 한 번만 실행돼야해서 static으로 선언.
42번 : @AfterEach 어노테이션은 각 테스트 케이스를 종료하기 전 매번 실행.
[결과]
따라서 앞서 설명한대로 @~All 끝나는 어노테이션은 전체 테스트가 시작하기 전/종료하기 전 딱 한 번만 실행돼야하니 한 번씩 찍힌것을 확인할 수 있다.
@~Each 어노테이션은 테스트 케이스가 시작/종료 전 매번 실행되는것을 볼 수 있다.
반응형
'프로그래밍 > Spring Boot' 카테고리의 다른 글
[JUnit]JUnit으로 Controller 테스트 코드 만들기 (2) | 2025.05.06 |
---|---|
[JUnit] @AfterAll @BeforeAll메소드 사용할 때 주의점. (4) | 2025.05.05 |
[JUnit] 자바 언어를 위한 단위 테스트 프레임워크 JUnit (2) | 2025.05.02 |
[Spring Boot]대량의 데이터를 한번에 처리하는 Spring Batch. 세번째 (0) | 2025.04.16 |
[Spring Boot] 대량의 데이터를 한번에 처리하는 Spring Batch. 두번째 (2) | 2025.04.15 |