반응형

 

테스트 실행 : 한 개의 데이터만 집어 넣기

 

  • 경로 위치

테스트 용이기에 src/test/java에 생성함

 

 

 

BdMapperTest.java

@Test, @DisplayName 어노테이션 사용

package com.th.hmmerorng.mapper;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import com.th.hmmerorng.vo.BdVO;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@SpringBootTest //boot의 편리성
public class BdMapperTest {
	
	@Autowired
	private BdMapper bdMapper;
	
	//테이블에 데이터가 없으니, insert 먼저 테스트
	@Test //서버 실행 없이 Junit(테스트 프레임워크)으로 구동 가능
	@DisplayName("입력 테스트")
	void insTest() {
		BdVO bdVO = new BdVO();
		bdVO.setBdTitle("테스트용");
		bdVO.setBdCont("컴퍼니 회사");
		bdVO.setBdFurl("http://pimg.daara.co.kr/kidd/photo/2016/12/30/thumbs/thumb_520390_1483079064_25.jpg");
		
		int cnt = bdMapper.insBd(bdVO);
		
		assertEquals(1, cnt); //cnt값이 1이 나오면 성공(pass), 아님 실패
	}
}

 

 

 

  • 실행 방법

 

1. 오른쪽 마우스 클릭

 

 

2

 

2. Run As > JUnit Test 클릭

 

 

성공시 화면

 

 

전체 실행 화면

 

 

 

여러 개의 데이터만 집어 넣기

 

 

BdMapperTest.java

기존의 파일에 메소드 추가

package com.th.hmmerorng.mapper;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.Iterator;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import com.th.hmmerorng.vo.BdVO;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@SpringBootTest //boot의 편리성
public class BdMapperTest {
	
	@Autowired
	private BdMapper bdMapper;
	
	//여러개 데이터 넣기
	@Test //서버 실행 없이 Junit(테스트 프레임워크)으로 구동 가능
	@DisplayName("입력 테스트2")
	void insMultiTest() {
		BdVO bdVO;
		int cnt = 0;
		
		for(int i=1; i<=23; i++) {
			bdVO = new BdVO();
			bdVO.setBdTitle("테스트용 두번째");
			bdVO.setBdCont("컴퍼니 회사");
			bdVO.setBdFurl("http://pimg.daara.co.kr/kidd/photo/2016/12/30/thumbs/thumb_520390_1483079064_25.jpg");
			cnt += bdMapper.insBd(bdVO);
		}
		
		assertEquals(23, cnt); //cnt값이 1이 나오면 성공(pass), 아님 실패
	}
}

 

결과 화면1

 

 

 

값 List로 가져오기

 

 

@Disabled
실행 시 원래 다 실행하기에 문제가 있을 수 있음
그렇기에 다 사용한 메소드의 상단에 작성해야 함.

 

 

BdMapperTest.java

기존의 파일에 메소드 추가

@Test
@DisplayName("getList 테스트")
void getListTest() {
    List<BdVO> bdList = bdMapper.getBdList();

    log.debug("확실히 확인하기 위해 찍음 : {}", bdList);

    assertEquals(124, bdList.size()); //추가된 데이터 갯수가 124개라 이렇게 씀
}

 

결과 화면2

 

 

 

값 1개 가져오기

 


BdMapperTest.java

기존의 파일에 메소드 추가

@Test
@DisplayName("bdVO 1개 가져오기")
void getBdTest() {
    BdVO bdVO = new BdVO();
    bdVO.setBdNum(78);
    BdVO testVO = bdMapper.getBd(bdVO);
    log.debug("확실히 확인 {}", testVO);
    assertEquals("테스트용 두번째", testVO.getBdTitle()); //78번째 데이터 제목 넣어서 확인
}

 

결과 화면3

 

 

 

데이터 수정하기

 


BdMapperTest.java

기존의 파일에 메소드 추가

@Test
@DisplayName("수정 테스트")
void upBdTest() {

    BdVO bdVO = new BdVO();
    bdVO.setBdNum(30); //이미 존재하는 번호를 1개 줘야함
    bdVO.setBdTitle("수정 완료");
    bdVO.setBdCont("수정 테스트 진행을 완료했습니다.");

    int cnt = bdMapper.upBd(bdVO);
    assertEquals(1, cnt);
}

 

결과 화면4-1

 

결과 화면4-2

 

 

 

최종 BdMapperTest.java 파일

package com.th.hmmerorng.mapper;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.Iterator;
import java.util.List;

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import com.th.hmmerorng.vo.BdVO;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@SpringBootTest //boot의 편리성
public class BdMapperTest {
	
	@Autowired
	private BdMapper bdMapper;
	
	//테이블에 데이터가 없으니, insert 먼저 테스트
	@Test //서버 실행 없이 Junit(테스트 프레임워크)으로 구동 가능
	@Disabled
	@DisplayName("입력 테스트")
	void insTest() {
		BdVO bdVO = new BdVO();
		bdVO.setBdTitle("테스트용");
		bdVO.setBdCont("컴퍼니 회사");
		bdVO.setBdFurl("http://pimg.daara.co.kr/kidd/photo/2016/12/30/thumbs/thumb_520390_1483079064_25.jpg");
		
		int cnt = bdMapper.insBd(bdVO);
		
		assertEquals(1, cnt); //cnt값이 1이 나오면 성공(pass), 아님 실패
	}
	
	//여러개 데이터 넣기
	@Test //서버 실행 없이 Junit(테스트 프레임워크)으로 구동 가능
	@Disabled
	@DisplayName("입력 테스트2")
	void insMultiTest() {
		BdVO bdVO;
		int cnt = 0;
		
		for(int i=1; i<=23; i++) {
			bdVO = new BdVO();
			bdVO.setBdTitle("테스트용 두번째");
			bdVO.setBdCont("컴퍼니 회사" + i);
			bdVO.setBdFurl("http://pimg.daara.co.kr/kidd/photo/2016/12/30/thumbs/thumb_520390_1483079064_25.jpg");
			cnt += bdMapper.insBd(bdVO);
		}
		
		assertEquals(23, cnt); //cnt값이 1이 나오면 성공(pass), 아님 실패
	}
	
	@Test
	@Disabled
	@DisplayName("getList 테스트")
	void getListTest() {
		List<BdVO> bdList = bdMapper.getBdList();
		
		log.debug("확실히 확인하기 위해 찍음 : {}", bdList);
		
		assertEquals(124, bdList.size()); //추가된 데이터 갯수가 124개라 이렇게 씀
	}
	
	@Test
	@Disabled
	@DisplayName("bdVO 1개 가져오기")
	void getBdTest() {
		BdVO bdVO = new BdVO();
		bdVO.setBdNum(78);
		BdVO testVO = bdMapper.getBd(bdVO);
		log.debug("확실히 확인 {}", testVO);
		assertEquals("테스트용 두번째", testVO.getBdTitle()); //78번째 데이터 제목 넣어서 확인
	}
	
	@Test
	@DisplayName("수정 테스트")
	void upBdTest() {
		
		BdVO bdVO = new BdVO();
		bdVO.setBdNum(30); //이미 존재하는 번호를 1개 줘야함
		bdVO.setBdTitle("수정 완료");
		bdVO.setBdCont("수정 테스트 진행을 완료했습니다.");
		
		int cnt = bdMapper.upBd(bdVO);
		assertEquals(1, cnt);
	}
	
}

 

 

반응형