test 이모저모

minseok·2023년 5월 5일
0
  • 좋은 단위 테스트와 잘 설계된 API사이에는 본질적인 관계가 있다.
    모든 구현 세부사항을 비공개로 하면 테스트가 식별할 수 있는 동작을 검증하는 것 외에는 다른 선택지가 없음(리팩토링 내성이 좋아짐)
  • Command명령을 대체하는 테스트 대역은 mock (ex. SMTP Server)
    Query명령을 대체하는 테스트 대역은 stub (ex. DB)
  • 무조건적으로 CQS원칙을 지킬 수는 없다. (stack api)
    하지만 지키는 것을 권장
  • stub으로 상호 작용을 검증하지 말자, sut에서 stub의 호출은 최종 결과가 아니라 수단, 최종 결과를 검증하자(거짓 양성을 피함)
  • 어떤 계층의 test라도 도메인 전문가에게 의미 있는 이야기를 전달해야 한다.
  • 애플리케이션에서 식별할 수 있는 동작 = 최종 사용자가 볼 수 있는 것
  • 도메인 클래스는 다른 도메인 클래스나 단순 값과 같은 프로세스 내부 의존성에만 의존해야함
profile
즐겁게 개발하기

0개의 댓글