본문 바로가기

개발중/Spring

스프링 Junit 이란 ? 사용해보고 싶다 👩‍🦰

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
반응형