[Spring Boot] 스프링부트 (IntelliJ)/Spring boot

junit을 이용한 테스트 기본 동작

류도토리 2024. 1. 5. 13:58

junit은 자바 언어에서 주로 사용되는 테스트하기 위한 프레임워크이다.

내가 test 폴더 안에서 내가 테스트 하고 싶은 것들이 잘 돌아가는지 테스트를 해볼 수 있다.

 

메서드마다 @Test 어노테이션을 사용하여 만들고

Assertions.assertThat(A).isEqualTo(B);

를 이용하면 A와 B의 결과값이 같은지 알 수 있다.

그리고 Assertions를 static으로 올리면 assertThat을 바로 사용할 수 있다.

 

하지만 여러 개의 메서드를 한 번에 테스트를 하다보면 오류가 발생한다.

다른 메서드지만 같은 값들이 정의되는 경우 등 겹치는 상황이 있을 수 있기 때문에

메서드가 테스트가 완료되고 나서 해당 메서드들의 공용데이터나 저장소 을 지워주는 역할이 필요하다.

 

일단 테스트 파일 말고 기존 파일에

public void clearStore(){
	store.clear();
}

해당 메서드를 만들어준 후

 

@AfterEach - 메서드가 끝날 때마다 동작을 요구할 수 있는 어노테이션이다.

@AfterEach
public void afterEach(){
	객체명.clearStore();
}

테스트 파일 안에 위의 메서드를 만들어주면 테스트 할 때 각각 메서드가 끝날 때마다 

공용데이터나 저장소를 다 지워주기 때문에 테스트를 할 때 뜨는 오류가 해결된다.