
① 한 문단에 한 주제
② 완벽하게 제어하기
③ 테스트 환경의 독립성을 보장하자.
④ 테스트 간 독립성을 보장하자.
⑤ 한 눈에 들어오는 Test Fixture 구성하기
⑥ Test Fixture 클렌징
⑦ 테스트 수행도 비용이다. 환경 통합하기
⑧ private 메서드의 테스트
⑨ 테스트에서 필요한 메서드가 생겼는데 프로덕션 코드에서는 필요 없는 경우
① 한 문단에 한 주제
: 한 문단에는 하나의 주제만 있어야 한다.
하나의 테스트는 한가지 목적에 대한 검증만 수행해야 한다.
@ParameterizedTest 등을 활용할 수 있다.
✔️ 참고 - @ParameterizedTest ( 다중케이스가 필요한 경우 )
@ParameterizedTest 라는 JUnit 애노테이션을 사용할 수 있다.
ProductType 에 대해서 각각 재고 대상에 해당하는 상품 유형인지 검증하는 테스트이다.ProductType 유형이 많아질수록 점점 어떤 타입이 어떤 결과인지 등을 보기가 어려워 진다. 이런 경우 @ParameterizedTest 를 사용할 수 있다.
@Test 대신 @ParameterizedTest 를 선언한다.Source 를 줄 수 있다. 여기서는 @CsvSource 를 사용했다.@CsvSource 내부에 정의한 값들은, 테스트 메서드의 파라미터로 구분되어 들어오게 된다.Source 의 경우 다양하게 적용할 수 있다. ( @MethodSource, @ValueSource , ... )강의를 듣고 정리한 글입니다. 코드와 그림 등의 출처는 박우빈 강사님께 있습니다.