[TIL] Today I Lerned - 230109
2023. 1. 9. 22:26ㆍ기록/TIL
[TIL] Today I Lerned - 230109
230109 기록
SQL
[SQL] WHERE / HAVING (tistory.com)
Test
사용 계기
- Spring Rest Docs를 사용하기 위해서는 작성이 된 테스트 코드들만 문서화를 시키기에 도전
- 기존의 service 코드의 경우 작성하는 법을 알았지만 다른 부분들의 코드를 작성해보기로 도전
겪은 점
- controller
- MockMvc를 사용하여 테스트 코드 작성
- 다만 통합 테스트를 생각하면서 service 값을 호출해야 하나 고민과 시간을 들임
- 결론
- MockMvc로 해당 값을 예상하면서 Service 단의 assertion의 역할처럼 andExpect()를 사용해서 결괏값 확인
- Reposiotry
- userRepository를 기능을 생각하며
- //given : 목표한 데이터 객체값을 생성 / 저장
- //when : 테스트하고자 하는 쿼리 메서드 실행
- //then : given에서 주어진 값과 when에서 가져온 값을 비교하여 결과값 출력
- controller는 코드를 작성하다가 삭제를 하고 느낀점만 기록
- 내일 controller를 작성하고 해당 부분을 Spring Rest Docs로 생성 예정
@DataJpaTest
class UserRepositoryTest {
@Autowired // final은 Autowired 불가, mock은 when으로 값을 지정하기에 사용 x
private UserRepository userRepository;
@Test
void findByUsername() {
//given
User user = User.builder().username("user1").password("1111").userRoleEnum(UserRoleEnum.USER).build();
userRepository.save(user);
//when
User user1 = userRepository.findByUsername(user.getUsername()).orElseThrow(() -> new IllegalArgumentException("존재하지않는 사용자입니다"));
//then
Assertions.assertThat(user1).isEqualTo(user);
Assertions.assertThat(user1.getUsername()).isEqualTo(user.getUsername());
}
}
'기록 > TIL' 카테고리의 다른 글
[TIL] Today I Lerned - 230111 (0) | 2023.01.11 |
---|---|
[TIL] Today I Lerned - 230110 (0) | 2023.01.10 |
[TIL] Today I Lerned - 230106 (0) | 2023.01.06 |
[TIL] Today I Lerned - 230105 (0) | 2023.01.06 |
[TIL] Today I Lerned - 230104 (0) | 2023.01.04 |