본문 바로가기

학습 기록/스프링 부트3 백엔드 개발자 되기[자바편]

[04장.1] 테스트 코드 개념

테스트 코드란?

: 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드

: 유지보수에도 매우 좋고, 코드 수정 시 기존 기능이 제대로 작동하지 않을까 걱정하지 않아도 됨

 

given - when - then 패턴

given : 테스트 실행 준비 단계

when : 테스트 진행 단계

then : 테스트 결과 검증 단계

@DisplayName("새로운 메뉴를 지정한다.")
@Test
public void saveManuTest(){

	// given : 메뉴를 저장하기 위한 준비 과정
    final String name = "아메리카노";
    final int price = 2000;
    
    final Menu americano = new Menu(name, price);
    
    // when : 실제로 메뉴를 저장
    final long saveId = menuService.save(americano);
    
    // then : 메뉴가 저장되었는지 검증
    final Menu saveMenu = menuService.findById(saveId).get();
    assertThat(saveMenu.getName()).isEquals(name);
    assertThat(saveMenu.getPrice()).isEquals(price);
}