인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

단무지님의 프로필 이미지
단무지

작성한 질문수

더 자바, 애플리케이션을 테스트하는 다양한 방법

테스트 방법 질문드립니다..!

해결된 질문

작성

·

210

1

안녕하세요~~

JUnit테스트를 보다가 검증하는 방식에 대해서 궁금한게 있어서 질문 드립니다!

만약.. 리파지토리에서 해당 회원들을 조회하는 기능을 테스트 해보려고한다면

// when

List<User> user = UserRepository.findAll();  // 총 유저 10명

// then
여기서 테스트 하는 방법이..

User user0 = user.get(0);

assertThat(user0.getName()).isEqualTo("user0");

assertThat(user0.getAge()).isEqualTo(10);

User user1 = user.get(1);

... 반복

이런식으로 결과값을 하나씩 빼서 모든 필드를 비교해야되나요 ? 아니면 다른 방식으로 해야될까요?

ㅠㅠ 이런 경우 테스트를 어떻게 하시는지 궁금했는데.. 강의에 없어서 질문 남겨봅니다.!

답변 1

3

백기선님의 프로필 이미지
백기선
지식공유자

음.. 좋은 질문이네요. 어디까지 테스트를 해야 하느냐인데.. 저라면 findAll은 테스트 하지 않습니다. 제가 구현한 것도 아니고 스프링 데이터 JPA가 제공하는 메소드니까 스프링 데이터 JPA가 테스트를 했을테니 제가 굳이 또 테스트를 작성할 필요는 없죠.

대신 제가 직접 구현한 쿼리 또는 쿼리 메소드라면 그건 제가 직접 테스트 할 겁니다. 제가 기대했던 방식대로 동작하는지 확인하기에 충분한 코드를 작성해야겠죠.

가령 회원 이름 순으로 10명을 조회하는 쿼리를 작성했다고 가정했을 때, 10명이 나오는지, 총 5명일때는 5명이 나오는지 20명일때에도 10명이 나오는지, 이름 순으로 정렬이 되어있는지 정도를 테스트 하겠죠.

단무지님의 프로필 이미지
단무지

작성한 질문수

질문하기