세션10. 조회 기능 개발

1. HTTP 응답 본문

2. 단언문 가독성

3. 테스트 실행 범위

테스트 실행 범위의 특징

  • TDD 를 사용하면 개발 과정에서 수시로 테스트를 실행한다.

  • 테스트 실행 범위가 넓으면 많은 것을 확인할 수 있고 더 큰 안정감을 얻을 수 있지만 긴 시간이 소요된다.

  • 테스트 실행 범위가 좁으면 빠르게 진행할 수 있지만 안정감은 줄어든다.

  • 때문에, 테스트 실행 범위 설정에는 장단점이 있다.

테스트 실행 범위 사례 (참고할 수 있는 사례)

  1. 다루고자 하는 테스트 시나리오의 목록을 작성한다.

  2. 목록에서 정확히 한 가지 항목을 실제 실행 가능한 구체적인 테스트로 전환한다. (테스트 메서드 범위 실행)

    1. 이 단계에서 이전 테스트가 정상처리 되었다면 해당 테스트를 작성하더라도 이전 테스트에 영향이 가지는 않는다.

    2. 하지만 프로젝트 범위 설정이 변경된다면 이전 테스트에 영향이 갈수도 있다.

      1. ex, 스프링 시큐리티 기능 추가

      2. 이 경우, 프로젝트 전체 테스트를 실행하는 것도 합리적이다.

  3. 전환된 테스트를 통과하도록 코드를 변경한다. (테스트 클래스 범위 실행)

    1. 테스트 통과시키기 위한 코드 변경의 여파가 테스트 클래스 전체에 영향이 가능 경우가 있다.

    2. 이 경우 테스트 클래스 범위의 테스트를 실행하는 것이 합리적이다.

  4. 선택적으로 리팩터링하여 구현 설계를 개선한다. (테스트 클래스 범위 실행)

  5. 모든 테스트 시나리오 구현. (프로젝트 범위 실행)

해당 패턴은 예시일 뿐 개발자들은 능동적으로 판단할 수 있어야 한다.

Spring Data JPA 조회 메서드 활용

  • Repository<T, ID> 인터페이스를 확장하는 인터페이스에 findBy 뒤에 속성 이름을 조합한 이름으로 메서드를 정의하면 지정한 속성으로 where 조건을 적용해 엔터티를 조회할 수 있습니다.

  • ex, Optional<Seller> findByEmail(String email);

Last updated