개발중/Spring
스프링 Junit 이란 ? 사용해보고 싶다 👩🦰
Binsoo
2022. 1. 20. 13:32
728x90
반응형
Junit 이란 ?
java 에서 독립된 단위 테스트를 지원해주는 프레임워크이다.
@Test 메서드가 호출이 될 때마다 새로운 인스턴스를 생성하여 독립적인 테스트를 이루어지게 한다.
메이븐은 아래와 같이 추가해주었다.
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
Junit test 코드는 아래와 같이 작성하였다.
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.rsn.POMS.api.poms.user.service.PomsUserService;
@SpringBootTest
class BinsooApplicationTests {
@Autowired
PomsUserService service;
@Test
public void binsooTest1() {
System.out.println("BINSOO JUNIT TEST 111111 !!!");
}
@Test
public void binsooTest2() {
System.out.println("BINSOO JUNIT TEST 222222 !!!");
}
}
Junit Test 를 Class 를 기준으로 하니까 성공


개별 method 를 실행시키려면 Junit tab 에서 각각 실행이 가능하다.

BinsooTest1 이 실행이 된다.

그리고 Run 시킬 때마다 서버가 리로딩 되니깐 내가 '왜 이렇게 무겁지 ? 이게 단위 테스트 인가?' 라는 의문을 가졌는데 한 선배에게 질문을 했는데 스프링의 라이클에 대해 더 이해해보라는 피드백을 받았다.
한번 더 찾아보니까 왜 Junit 실행 시킬 때마다 저렇게 쭉 리로딩 하는지 이해가 슬슬 갔다.
빈도 등록해야 하고, db 와 커넥션도 맺어야 하고,
하나의 서비스가 실행되기 위해서는 전체가 로딩이 되어야 하니깐 ,,,
이렇게 하나 더 배웠당 ψ(._. )>
728x90
반응형