2021년 9월 2일

김대웅·2021년 9월 2일

TIL

목록 보기
17/33

회고

Facts(사실, 객관)

  • 코드 리뷰 피드백 반영
  • "/products" get 메서드 처리 코드 추가

Feelings(느낌, 주관)

  • 라이브러리의 사용 용도를 알고 사용해야겠다.

Findings(배운 점)

  • 라이브러리의 사용 용도를 알고 사용해야겠다.

Affirmation(자기 선언)

  • 나는 라이브러리의 정확한 용도을 알고 사용하는 사람이다.

15:48 ~ 17:24

Facts(사실, 객관)

  • 코드 리뷰 피드백 반영
  • 테스트 코드 수정

Feelings(느낌, 주관)

  • 테스트 코드를 수정하였다.(참고1, 참고2)
  • 변경내용을 정리하면 아래와 같다.
    1. 리턴값을 직접적으로 확인하는 코드를, 리턴 타입만 확인하는것으로 변경하였다.
    2. 의존성을 mocking하는 과정에서 실제 값을 쓰는 것에서 anyString(), anyInt()를 이용하여 추상화 하였다.
  • 변경한 이유는 아래와 같다.
    1. 모든 의존성을 mocking하였으므로, 실제 값 테스트 하는것은 의미가 없다.
    2. 테스트 코드를 읽는 사람들에게, 리턴 여부보다, 리턴하는 실제 값이 더 중요하다는 인상을 줄 수 있다.

Findings(배운 점)

  • 유닛테스트의 목적 : 의도한 대로 코드가 작동하는지 여부 확인 / 실제 값이 어떠한가는 크게 중요하지 않다.

Affirmation(자기 선언)

  • 나는 의도가 명확하게 드러나는 코드를 작성하는 사람이다.

19:09 ~ 20:42

Facts(사실, 객관)

  • "/products" get 요청 처리 코드 및 테스트 작성

Feelings(느낌, 주관)

  • 의존성 mocking시 리턴타입에 anyString()등을 사용하였다
	when(productRepository.save(any(Product.class)))
                .thenReturn(new Product(anyString()));
  • anyString은 ArgumentMatchers에 포함된 메서드였음
    • 메서드 호출시 입력받는 인자의 검증에 사용되는 메서드
  • 몇몇 경우에서는 리턴타입에 ArgumentMatchers의 메서드를 사용하여도 문제가 발생하지 않았음
  • 몇몇 경우에서는 리턴타입에 ArgumentMatchers를 사용하면 문제가 발생하였음
  • 리턴타입에 사용하는것은 의도한 바가 아니었음
  • 따라서 삭제 하였음

Findings(배운 점)

  • ArgumentMatchers의 메서드의 올바른 사용법

Affirmation(자기 선언)

  • 나는 작성된 의도대로 메서드를 사용하는 사람이다.
profile
42seoul cadet

0개의 댓글