I T H

[스프링프로젝트연습 17] 스프링 프로젝트 구현 - Junit 테스트 본문

Spring Basic

[스프링프로젝트연습 17] 스프링 프로젝트 구현 - Junit 테스트

thdev 2024. 1. 22. 14:48
JUnit 에 대한 기초 설명 및 사용 방법에 대해 알아보고자 한다.
-   JUnit : 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. (단위 테스트 도구)
-   오픈소스이며, 외부 테스트 프로그램(케이스)을 작성하여 System.out 으로 번거롭게 디버깅하지 않아도 되며, 플러그인 형태로 (jar 파일 삽입) 사용된다.

 

[ pom.xml 파일 수정 ]

-  Junit 라이브러리의 경우 이미 3장에서 추가하였지만 버전 변경으로 다시 설정한다. (4.11 -> 4.13.1 버전으로 변경)

-  JUnit 라이브러리에 대한 의존성을 주입한다.

<!-- junit tester -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13.1</version>
			<scope>test</scope>
		</dependency> 

<!-- spring tester -->
		<dependency> 
			<groupId>org.springframework</groupId> 
		  	<artifactId>spring-test</artifactId> 
		  	<version>${org.springframework-version}</version> 
		</dependency>

 

 

[ 폴더 구성 ]

 

-  Src/test/java (main 패키지가 아님!!) 아래에 아래와 같이 구성될 것이다.

 

 

-  테스트를 위한 테스트 클래스를 작성하고 아래 코드를 작성하여 준다.

-  @Test : 테스트 단위를 표시하는 어노테이션

-  @WebAppConfiguration : @WebAppConfiguration은 통합 테스트를 위해 로드된 ApplicationContext WebApplicationContext 여야 함을 선언하는 데 사용하는 클래스 레벨 어노테이션

package kr.co.values.service;

import java.util.HashMap;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;

import kr.co.values.init.RootConfig;
import kr.co.values.init.WebConfig;
import kr.co.values.persistence.MainMapper;

//단위테스트를 스프링 프로젝트와 연동
@RunWith(SpringRunner.class)
//설정파일 선언
@ContextConfiguration(classes = {WebConfig.class, RootConfig.class})
@WebAppConfiguration
public class MainServiceTest {
	
	@Autowired
	MainMapper mainMapper;
	
	@Before
	public void setUp() throws Exception{
	}
	
	@Test
	public void testInsertData() {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("userId", "test999");
		map.put("userPwd", "test11");
		map.put("userName", "test11");
		map.put("userAuth", "1");
		map.put("userTel", "test11");
		map.put("userEmail", "test11");
		mainMapper.addList(map);
	}
}

 

 

 JUnit Test 를 통해 실행한다.

- 실행 결과 성공/실패 등의 유무는 결과창을 통해 확인이 가능하다.

 

- 성공했을때

 

- 실패했을때