이전글 보기

https://aamoos.tistory.com/671

 

[Spring Jpa] 4. 게시판 만들기 - Entity 생성, 빌드패턴, P6 spy 설정

이전글 보기 https://aamoos.tistory.com/670 [Spring Jpa] 3. 게시판 만들기 - H2 Database 연결하기 이전글 보기 https://aamoos.tistory.com/669 [Spring Jpa] 2. 게시판 만들기 - bootstrap5 적용하기 이전글..

aamoos.tistory.com

 

목표

- 게시판 등록, 수정 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

 

[Spring Jpa] 6. 게시판 만들기 - QueryDsl 설정, 게시판 페이징 구현

QueryDsl 적용 https://aamoos.tistory.com/454 [SpringBoot] Querydsl 적용 build.gradle plugins { id 'org.springframework.boot' version '2.5.3' id 'io.spring.dependency-management' version '1.0.11.RELE..

aamoos.tistory.com

 

복사했습니다!