🤔 < Test Code >

Test Code는 개발자가 작성한 소프트웨어의 성능,기능을 검증하는 데 있어 핵심적인 역할을 수행한다.

 

🚀 < Test Code의 장점 > 

①. 품질 보장 : Test Code를 통해서 정상 작동하는지 Test함으로 전반적인 품질이 보장된다.

②. 버그 감지 : Test Code는 새로운 기능을 추가하거나 기존 코드를 수정할 때 발생 할 수 있는 문제를 미리 감지하는데 도움이 된다.

③. Refactoring : 안정적인 Test Code가 있으면 Refactoring이 쉬워진다. 코드의 구조를 변경하더라도 테스트 코드를 통해

기능 유지가 되는지 확인할 수 있기 때문이다.

④.문서화 : 해당 기능이 어떻게 동작해야 하는지를 보여주는 좋은 예제가 된다.

 

🎁 < Where ? >

Test Code는 test Directory에서 작업한다.

 

테스트 코드를 작성하는 데에는 다양한 방법이 있으며, 그 중 하나가 바로 'Given-When-Then' 패턴이다.

이 패턴은 테스트를 세 가지 단계로 나눠 보는 방법이며, 이는 다음과 같다.

 

1 ) Given - 이 단계에서는 테스트의 전제 조건을 설정한다. 즉, 테스트를 진행하기 위한 준비 단계로써, Data를 초기화하거나 특정 상태를 설정하는 등의 작업을 수행한다.

 

2 ) When - 이 단계에서는 실제로 테스트하고자 하는 행동,메서드를 실행한다. 즉, 검증하고자 하는 부분이 이 단계에서 수행된다.

 

3 ) Then - 마지막으로, 이 단계에서는 테스트 결과가 예상대로 동작하는지를 검증한다. 보통 'assert'라는 메서드를 이용하여, 결과값이 예상한 값과 일치하는지 확인하는 방식으로 진행된다. 

 

 

< given-when-then 테스트 코드 예시 >

@DisplayName("새로운 메뉴를 저장한다.")
@Test
public void saveMenuTest() {
 //given : 메뉴를 저장하기 위한 준비 과정
 final String name = "아메리카노";
 final int price = 2000;
 
  final Menu americano = new Menu(name, price);
  
  
  //when : 실제로 메뉴를 저장
  final long savedID = menuService.save(americano);
  
  // then : 메뉴가 잘 추가되었는지 검증
  final Menu saveMenu = menuService.findById(sevedId).get();
  assertThat(savedMenu.getName()).isEqualTo(name);
  assertThat(savedMenu.getPrice()).isEqualTo(price);
  }

위 코드는 세 부분으로 나누어져 있다. 메뉴를 저장하기 위해 준비하는 과정인 given절, 실제로 메뉴를 저장하는 when절, 메뉴가 잘 추가되었는지 검증하는 then절로 나누어져 있다. 

 

 

출처 : 스프링 부트 3 백엔드 개발자 되기 - 자바 편

http://www.yes24.com/Product/Goods/118625612

 

스프링 부트 3 백엔드 개발자 되기 - 자바 편 - YES24

- 자바 백엔드 개발자가 되고 싶다면- 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔

www.yes24.com

 

+ Recent posts