JUnit

2021. 8. 5. 10:55(구)공부/SpringBoot

728x90

메소드 테스트

 

src/test/java에 가서 class 생성

package com.bit;

import java.util.List;

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

import com.bit.domain.Board;
import com.bit.persistence.BoardRepository;
//RunWith(SpringRunner.class) 낮은 버전에서는 이거 사용 했었음
@ExtendWith(SpringExtension.class)
@SpringBootTest

public class BoardRepositoryTests {
	@Autowired
	BoardRepository repo;
	
	@Test
	public void testCreate() {
		System.out.println("테이블 생성");
	}
	//더미 데이터
	@Test
	public void testInsert200() {
		for (int i=0; i < 200; i++) {
			Board board = new Board();
			board.setTitle("제목 :"+i);
			board.setContent("내용 :"+i+"채우기");
			board.setWriter("user0 :"+i%10);
			repo.save(board);
		}
	}
	
	@Test
	public void testByTitle() {
		List<Board> results = repo.findByTitle("제목 :0");
		for(int i=0; i<results.size(); i++) {
			Board board = results.get(i);
			System.out.println(board);
		}
		
		for(Board board:results) {
			System.out.println(board);
		}
		
		results.forEach(board->System.out.println(board)); //람다 1
		
		results.forEach(System.out::println); // 람다 2
	}
	
	@Test
	public void testByWriter() {
		repo.findByWriter("user0 :0").forEach(System.out::println);;
	}
	
	@Test
	public void update200() {
		for (int i=0; i < 200; i++) {
			Iterable<Board> iter = repo.findAll();
			iter.forEach(board->board.setContent("1"));
			repo.saveAll(iter);
//			repo.save(board);
		}
	}
	
	@Test
	public void testContent() {
		repo.findByContent("내용...0 채우기").
		forEach(board->System.out.println(board));
	}
	
	@Test
	public void testByTitleContaining() {
		repo.findByTitleContaining("7").
		forEach(board->System.out.println(board));
	}
	
	@Test
	public void testByContentEndingWith() {
		repo.findByContentEndingWith("9 채우기").
		forEach(board->System.out.println(board));

	}
	
	@Test
	public void testByWriterEndingWith() {
		repo.findByWriterEndingWith("7").
		forEach(board->System.out.println(board));

	}
	
	@Test
	public void testByTitleStartingWith() {
		repo.findByTitleStartingWith("제목 :2").
		forEach(board->System.out.println(board));

	}

}

@Test 꼭 붙여야함

 

Run configuration 에 가면 Test method에서 테스트할 메소드 선택 가능

 

더 상세한거 보려면 https://kukirun.tistory.com/66

 

MySql 연동

properties에 추가 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/jpadb?useUnicode=yes&characterEncoding=UTF-8&useSSL=false spring.dataso..

kukirun.tistory.com

 

추가적인 어노테이션 

@Commit // 테스트 결과 commit

728x90

'(구)공부 > SpringBoot' 카테고리의 다른 글

Thymeleaf 입문  (0) 2021.08.10
JPA 다양한 select 메소드  (0) 2021.08.06
어노테이션  (0) 2021.08.05
MySql 연동  (0) 2021.08.05
스프링부트 들어가기  (0) 2021.08.04