• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

assertj를 쓰지 않으시는 이유가 있으신지 궁금합니다.

22.06.24 03:26 작성 조회수 332

1

스프링을 처음 배울땐 assertj를 쓰도록 배웠는데

취향의 영역인지 아니면 안쓰시는 이유가 있으신지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안녕하십니까? 호돌맨입니다.
질문을 남겨주셔서 감사합니다. 

assertj를 쓴다면 검증 메서드 연계를 통해서 편하게 테스트할 수 있죠. 
그렇게 되면 검증 시 필요한 메서드를 찾기 쉽고 가독성도 좋아집니다. 또한 한 개의 값을 다양한 방식으로 비교할 때도 좋겠죠. 예를 들면 assertThat(5).isGreaterThan(1).isLessThan(10)가 있겠네요. 

그런데 요절복통 현재 까지만 봤을 때 검증해야 하는 부분이 그렇게 복잡하지 않았습니다. 
결과가 명확하게 결정되므로 assertEquals(5, 5)라고 하는 게 더 낫지 않을까 싶습니다. 
메서드 연계를 통한 검증 방식이 코드를 입력할 때는 좋은 것 같습니다. 
그런데 향 후에 해당 테스트를 읽어야 하는 개발자에게도 좋을지는 잘 모르겠습니다. 

그리고 이건 개인적인 생각인데 대부분의 테스트는 input, output이 명확해야 하지 않나 생각합니다. 
output이 5인데 그걸 1보다 크고 10보다 작다라고 검증해야만 하는 코드는 불안전하지 않을까요? 
명확하게 특정 input 값을 넣었을 때 결과 5가 나오는걸 항상 검증해야 하지 않을까요? 
테스트를 실행하면 언제는 5가 나오고 언제는 3이 나오면 너무 기도 메타 같지 않을까요? 
메서드 체이닝 하면서까지 값을 확인해야 하는 경우가 많을까 싶기도 하고요.

그리고 개인적인 취향으로 영어에 that 들어가는 걸 별로 안좋아합니다.

항상 건강하시고 멋진 개발자 되시길 바랍니다. !!
감사합니다.

wisehero님의 프로필

wisehero

질문자

2022.06.26

호돌맨님의 나름의 근거와 취향! 알려주셔서 감사합니다! 저도 고민해보는 계기가 되었습니다