단위테스트/JUnit
[JUnit] JUnit Test Sample Code
멋진놈
2022. 11. 28. 09:40
728x90
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
@SpringBootTest
public class EventTests {
@Autowired
EventRepository eventRepository;
@Test
void save() {
// Event params = new Event("1번 이벤트 제목", "1번 이벤트 내용", 0, 'N') 아래와 같은것 가독성이 뛰언해짐.
// 1. 이벤트 파라미터 생성 Event entity에서 작성한 Build 파라미터
Event params = Event.builder()
.title("1번 이벤트 제목")
.content("1번 이벤트 내용")
.deleteYn('N')
.build();
// 2. 이벤트 저장
eventRepository.save(params);
// 3. 1번 이벤트 정보 조회
Event entity = eventRepository.findById((long) 3).get(); // assertThat 자신의 파라미터와 지정한 파라미터가 동일한지 비교할때 사용함. findById 실제 db에 요청해 엔티티 가져옴.
assertThat(entity.getTitle()).isEqualTo("1번 이벤트 제목");
assertThat(entity.getContent()).isEqualTo("1번 이벤트 내용");
assertThat(entity.getDeleteYn()).isEqualTo('N');
}
@Test
void findAll() {
// 1. 전체 이벤트 수 조회
long evensCount = eventRepository.count();
// 2. 전체 이벤트 리스트 조회
List<Event> events = eventRepository.findAll();
}
@Test
void delete(){
// 1. 게시글 조회(1번글) 해서 가져오기
Event entity = eventRepository.findById((long) 3).get();
// 2. 게시글 삭제
eventRepository.delete(entity);
}
}