Test 코드
오늘은 면접 스터디 주제에 해당하는 자료를 마크다운 형식으로 정리해서 github에 올리는 것을 진행했지만
이 부분은 gihub을 참고해도 되니 했다라는 것만 적고 오늘은 test 코드 얘기에 집중하려고 한다.
147일차(모험 56일차) - Test 코드 작성 에 이어서 적어본다.
print()를 작성하는 것은 test 코드로는 의미가 없어서 아래와 같이 작성했다.
튜터님이 newRegistry 변수로 저장해서 Registry와 비교하는게 어떤 의미가 있을까 라는 질문에
registryRepository.save(registry) 코드로 변경했다.
@Test
void 통합test() throws Exception {
//given
Registry registry = new Registry();
registry.setTitle("hi");
registry.setMain("hello");
//when
registryRepository.save(registry);
//then
Assertions.assertThat(1L).isEqualTo(registry.getIdx());
Assertions.assertThat("hi").isEqualTo(registry.getTitle());
Assertions.assertThat("hello").isEqualTo(registry.getMain());
}
}
그 후 이 코드로 작성하면 되는지 검증을 받았고 idx만 비교하면 될 것 같다는 의견을 받아서
Assertions.assertThat(1L).isEqualTo(registry.getIdx());
// Assertions.assertThat("hi").isEqualTo(registry.getTitle());
// Assertions.assertThat("hello").isEqualTo(registry.getMain());
나머지는 주석처리를 했다.
아래는 추가 질문들을 정리했다.
❓ : 이 전에 작성한 print()문은 다 지우고 방금 작성한 코드만 활용하면 테스트 코드를 작성한 것일까?
🅰️ : 테스트 코드에서 어떤 결과를 체크하고자 하는지에 따라 달라질 것 같다
❓ : 저장이 잘 되었는지 + 가져오는게 잘 되었는지 확인차 test 용이라면 위와 같이 적으면 되는걸까?
🅰️ : 저장하고 다시 조회해서 값을 비교할 수도 있다.
❓ : void 통합 test() 으로도 가능하지만 다른 방법으로 저장하고 다시 조회해서 값을 비교할 수 있다는 걸까?
🅰️ : 그렇다. 저장하고 저장된 idx 1 값으로 조회해서 비교를 해보는 것이다.
❓ : 아래 코드가 그런 코드가 아닐까?
@Test
void 통합test() throws Exception {
//given
Registry registry = new Registry();
registry.setTitle("hi");
registry.setMain("hello");
//when
registryRepository.save(registry);
//then
Assertions.assertThat(1L).isEqualTo(registry.getIdx());
}
🅰️ : 이렇게 해도 되지만 저장하고 한번 더 조회해서 비교해도 된다.
즉, 데이터 베이스에 저장이 되었으니 데이터 베이스를 조회해 보는 것이다.
❓ : 위 질문에 대한 답을 찾기 위해 구글링을 하다가 갑자기 궁금한 점이 생겼다.
(참고했던 링크 >> [ 스프링부트에서 DbUnit 을 이용하여 DB 테스트 해보기 ] )
test 코드를 RegistryRepositoryTest로 진행했는데
Service로 test 코드를 진행해서 값을 dto에 담고 dto와 registry를 비교하는 것도 있다. 잘 못 진행한걸까?
🅰️ : 사실 정해진건 없다. 서비스를 테스트 하는거면 서비스를 호출해야되는게 맞다.
'TIL' 카테고리의 다른 글
151일차(모험 60일차) (0) | 2022.02.11 |
---|---|
150일차(모험 59일차) - Test 코드 작성 3 (0) | 2022.02.10 |
148일차(모험 57일차) - 프로젝트 의견 조율 (0) | 2022.02.09 |
147일차(모험 56일차) - Test 코드 작성 (0) | 2022.02.07 |
144일차(모험 53일차) (0) | 2022.02.05 |