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

김김님의 프로필 이미지
김김

작성한 질문수

실전! Querydsl

프로젝션과 결과 반환 - @QueryProjection

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

작성

·

244

·

수정됨

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 입니다.

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

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

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

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

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

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

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

감사합니다.

김김님의 프로필 이미지
김김

작성한 질문수

질문하기