[TDD] 입력과 출력

so_doit·2022년 3월 6일
0

TIL

목록 보기
15/26

코드에 데이터가 입력되는 방법과 코드에서 코드가 출력되는 방법, 그리고 이것이 테스팅에 미치는 영향에 대해 강의를 보면서 공부했다.

입력과 출력

프로그램은 데이터를 입력받아 가공되어 출력한다.

직접 입력과 직접 출력

  • 직접 의존성을 정해서 넘겨주는 경우이다.
  • 공개된 인터페이스를 통해서 노출되는 입력과 출력이다.
  • 다루기 간단하다.

간접 입력과 간접 출력

  • 주입된 의존으로 데이터를 생성하여 사용될 때
  • 입력된 인터페이스를 통한 입력과 출력이다.
  • 상대적으로 직접 입력과 직접 출력보다는 다루기가 어렵다.

부작용

  • 인터페이스 설계에 드러나지 않은 출력
    • 반환 값 외 출력이 존재할 때
  • 자주 사용되는 부작용
    • 실패
    • 지연
    • 간접 출력

회고

이번 시간은 위의 내용을 실습으로 보여주면 따라하는 실습하는 시간이였다.
설계를 하다보면 이 클래스에는 어떤 필드를 넣을 것인지, 생성자에 넘길 매개변수는 무엇인지, 클라이언트가 사용하는 연산에는 의존성으로 어떻게 사용될지 등 당연하게 하는 것을 입력과 출력이라는 개념으로 바라보니 느낌이 달랐다.

profile
백엔드 개발자

0개의 댓글