• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

distinct 테스트코드 관련 질문 드립니다.

23.04.23 12:08 작성 23.04.23 12:10 수정 조회수 202

0

    @Test
    public void distinct() {

        em.persist(new Member("member1"));
        em.persist(new Member("member2"));
        em.persist(new Member("member2"));
        em.persist(new Member("member5"));

        List<String> usernames = queryFactory
                .select(member.username).distinct()
                .from(member)
                .fetch();

        assertThat(usernames)
                .containsExactly("member1", "member2", "member3", "member4", "member5");
    }

 

테스트코드 직접 짜본 경험이 별로 없어서 그런데

이렇게 짜면 되는걸까요 ...?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.04.24

안녕하세요, 기매 님. 공식 서포터즈 y2gcoder 입니다.

distinct에 대한 테스트 코드를 작성 중이신 것으로 보입니다!

위의 코드에서 distinct를 테스트하려면 마지막 검증부만 조금 수정하면 될 것 같습니다 :)

저장하는 이름을 member1, member2, member2, member5로 하셨고,

그러면 distinct했을 때 나와야 하는 멤버 이름 목록은 member1, member2, member5 일 것 같습니다. 그렇다면 저는 개인적으로 두 가지를 검증해볼 것 같습니다.

1) 목록이 3개만 나오는지

2) 목록에 있는 값들이 정확히 member1, member2, member5만 있는지

이 부분을 생각해보시면서 테스트 코드를 살짝 수정해주시면 될 것 같습니다 :)

감사합니다.