작성
·
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만 있는지
이 부분을 생각해보시면서 테스트 코드를 살짝 수정해주시면 될 것 같습니다 :)
감사합니다.