Published 2022. 8. 2. 09:54
이전글 보기
https://aamoos.tistory.com/671
목표
- 게시판 등록, 수정 test 파일을 만들어보고 실행해보겠습니다.
ddl-auto 속성 변경
- application.yml에 ddl-auto 속성을 잠시 none으로 바꿉니다.
Test 파일 생성
- 이전에 생성한 BoardRepository를 마우스로 클릭하고 Alt+Enter를 누른후 Create Test를 클릭합니다.
Junit5로 클릭하고 OK를 클릭합니다.
BoardRepositoryTest.java
package jpa.board.repository;
import jpa.board.dto.BoardDto;
import jpa.board.entity.Board;
import jpa.board.entity.Member;
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 java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;
/**
* packageName : jpa.board.repository
* fileName : BoardRepositoryTest
* author : 김재성
* date : 2022-08-02
* description :
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 2022-08-02 김재성 최초 생성
*/
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class BoardRepositoryTest {
@Autowired
BoardRepository boardRepository;
@Autowired
MemberRepository memberRepository;
@Test
public void 게시판_등록(){
//등록된글 다지우기
boardRepository.deleteAll();
//given
String title = "타이틀1";
String content = "내용1";
List<Member> memberList = memberRepository.findAll();
Member member = memberList.get(0);
BoardDto boardDto = new BoardDto(title, content);
Board board = boardDto.toEntity(member);
boardRepository.save(board);
//when
List<Board> boardList = boardRepository.findAll();
//then
Board boards = boardList.get(0);
assertThat(boards.getTitle()).isEqualTo(title);
assertThat(boards.getContent()).isEqualTo(content);
}
@Test
public void 게시판_수정(){
//given
List<Board> boardList = boardRepository.findAll();
Board boards = boardList.get(0);
String title = "변경된 타이틀";
String content = "변경된 내용";
boards.update(title, content);
boardRepository.save(boards);
//when
List<Board> boardList2 = boardRepository.findAll();
//then
Board boards2 = boardList2.get(0);
assertThat(boards2.getTitle()).isEqualTo(title);
assertThat(boards2.getContent()).isEqualTo(content);
}
}
게시판등록 실행
- 게시판 등록을 실행하면 기존에 등록했던 글들을 전부 삭제하고 등록을 합니다.
게시판 수정 실행
- 게시판 수정 실행시 변경된 내용, 타이틀로 변경합니다. 다음장에는 Querydsl을 설정해보겠습니다.
다음글보기
https://aamoos.tistory.com/675