inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

해결된 질문

248

단무지

작성한 질문수 21

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);

... 반복

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

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

JMeter mockito JUnit Chaos-Monkey java ArchUnit testcontainers

답변 1

3

백기선

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

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

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

테스트 반복하기 관련 질문입니다

0

103

1

Testcontainers ddl-auto 동작 시점

0

221

2

testcontainers DB 공유 이슈

0

239

2

질문있습니다.

0

334

3

동시성 테스트는 어떻게 작성해야하는지 궁금합니다.

2

1234

0

안녕하세요, 테스트의 displayName 관련 질문이 있습니다!

0

469

0

intellij 테스트 실행시 engine 이 나오게 하는 방법이 궁금합니다.

0

412

0

thenThrow() 안에는 runtime 익셉션만 선언가능한가요?

0

1348

1

안녕하세요 @BeforeAll관련해서 질문이 있습니다.

0

390

1

Test 중단 방법(?)

1

428

1

junit 프로퍼티

1

411

1

강의 섹션별 Git Code

1

365

1

Gradle 프로젝트

0

359

1

강의 문서

0

398

1

if나 case를 통한 분기와 Assumptions의 차이점 문의

1

380

1

Study .setOwnerId( id ) 로 예제를 구성하신 이유가, 특정한 시나리오를 가정하기 때문인가요?

0

319

1

Mock에 Stubbing 중 발생하는 에러

0

3987

1

제 블로그에 공부 내용을 정리해도 될까요?

1

382

1

@Order와 @Order가 없는 순서가 있는 케이스

0

440

1

enum은 또 "이늄"인가요?

-5

1710

2

"assume" 발음이 "어줌"인가요?

-7

1621

4

검색을 해도 해결이 안되어 질문드립니다

0

2210

1

test 환경의 다른 컨테이너(Mock 어플리케이션)

0

379

2

중복 저장

0

299

1