[Spring] JUnit 단위테스트

류넹·2024년 3월 19일
1

Spring

목록 보기
38/50

❓ 단위테스트

  • 개발자 레벨의 테스트
  • 주로 그 기능을 수행한 개발자가 테스트

✔️ 단위테스트의 목적

  • 기능 하나를 테스트하는 것
  • 예상한 값과 일치하는 값이 나오는지 테스트
  • Service, Controller가 테스트 대상. Repository는 테스트할 필요 없음

✔️ 장점

  1. 반복적인 테스트 실행 가능
    • @Transactional 어노테이션을 부착하면 자동으로 테스트 성공 직후 Rollback이 실행돼서 insert 작업도 여러번 테스트할 수 있다.
  1. 테스트의 성공/실패 여부를 빠르게 확인할 수 있다.

  2. Spring에서 제공해주는 스프링 테스트와 연동해서 스프링 기반의 어플리케이션을 쉽게 테스트할 수 있는 테스트 케이스를 작성할 수 있다.


* 통합테스트 : 여러 모듈 간에 연계가 잘 이루어지고 있는지 테스트





📌 Eclipse에서의 JUnit Test 실행

1. Dependency 추가

  • @SpringBootTest 어노테이션 사용할 준비
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>

2. 테스트 케이스 작성 (@Test)

  • @Test 어노테이션 부착 시, 단위테스트의 실행대상이 됨
  • 테스트 케이스를 작성할 때는 반드시 void 타입이어야 한다. (매개변수 전달 불가)
@SpringBootTest
public class UserRepositoryTest {

	@Autowired
	UserRepository userRepository;
	
	@Test
	@DisplayName("UserRepository 구현객체는 Null이 아니다.")
	public void testConfig() {
		assertThat(userRepository).isNotNull();
	}
}

3. JUnit Test 실행

  • 1) 프로젝트 우클릭
  • 2) Run As 클릭
  • 3) JUnit Test 클릭

💡 실행결과

  • 초록막대 : 테스트 성공
profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글