본문 바로가기

TDD3

Junit5 에러 DuplicateJsonObjectContextCustomizer com.vaadin.external.google android-json logdeveloper.github.io/java/java-junit5/ [Java] junit5 test 진행 중 DuplicateJsonObjectContextCustomizer 현상 logdeveloper.github.io 2020. 10. 26.
@Mock와 @MockBean의 차이점? 아직 잘 모르겠다. 스프링 부트를 활용한 마이크로 서비스 개발이란 책의 39페이지의 내용이다. 이전 장에서 본 @MockBean을 기억하시나요? 이번에는 @Mock 대신 @MockBean을 사용합니다. 스프링이 진짜 빈(MultiplicationServiceImpl) 대신 목 객체를 주입해야 하기 때문입니다. 목 객체는 given()메서드에서 지정한대로 값을 반환합니다. 이 테스트는 컨트롤러만 테스트하는 것이지 서비스를 테스트하는 것은 아닙니다. @Mock 이나 @MockBean 애너테이션 둘다 목 객체를 만드는 것 아니였나? 단순히 @Mock은 Mockito의 애너테이션이고 @MockBean은 스프링부트에서 래핑해서 지원하는 애너테이션으로 이해하고 있었는데 잘 못 이해 한 것 같다. 아래의 링크에서도 내가 생각했던 방식으.. 2019. 10. 14.
합리적인 테스트 이름만들기 TDD라기 보다는 unit테스트에 대한 전반적인 팁이다. 테스트에 주석을 달기보다는 잘 지은 이름으로 문서화하자. 책에서는 ATM 도메인으로 예시를 들었다. doingSomeOperationGenerateSomeResult (어떤 동작을 하면 어떤 결과가 나온다.) someResultOccuersUnderSomeCondition (어떤 결과는 어떤 조건에서 발생한다.) Tip: 테스트하려는 맥락을 제안하기 보다는 어떤 맥락에서 일련의 행동을 호출했을 때 어떤 결과가 나오는지를 명시하는 것이 좋다고 한다. 위의 두가지는 좋다. 이것을 적용하면, 멋지지 않은 이름 멋진 이름 makeSingleWithdrawal withdrawalReducesBalanceByWithdrawnAmount attempToWith.. 2019. 9. 24.