원서 : 자바스크립트 코딩의 기술
목표
- 복잡한 코드에 테스트를 추가할 생각하지 말고 테스트 가능한 코드를 작성하자!
함수
자바스크립트의 시작은 함수 입니다. 고차 함수, 커링, 클로저, 스코프의 this...
테스트하기 쉬운 함수를 작성합시다!
- 테스트 코드를 작성하기 쉬운 환경을 찾고 만들어라.
- 외부 서비스, 설정파일, 네트워크 통신을 대신하는 모의 객체(mock)를 생성합시다
- 테스트 코드를 작성해라.
- 테스트 코드를 작성하기 어렵다면 코드를 변경해라. ( 리팩토링 )
테스트를 위한 개념
- 스텝 : 외부 코드를 덮어 써서 명시적인 결과를 반환
함수의 내부 논리를 모두 제거하고 결과만 선언하여 토막내기 때문에 붙여진 이름
- 모의 객체 : 원본 객체를 대체한 후, 원본 객체가 수신할 메시지와 호출 메소드를 바탕으로 단언문을 작성
스텝과 모의 객체의 차이점 : 모의 객체를 사용할 때는 코드를 호출하기 전에 기댓값을 설정
스파이와 모의 객체의 차이점 : 스파이가 어떻게 호출되었는지 확인 ( ex: 몇 번 호출되었는 지 확인 )
외부 의존성 낮추기
의존성을 인수로 전달하는 것을 의존성 주입이라고 합니다. 외부에서 사용하는 것을 인수로 전달받으면 의존성도 낮출 수 있으며 테스트도 용이합니다.
...
'Javascript' 카테고리의 다른 글
자바스크립트 깔끔하게 사용하기 - 기본2 (0) | 2020.04.10 |
---|---|
자바스크립트 깔끔하게 사용하기 - 기본1 (0) | 2020.04.06 |
자바스크립트 관련 책 추천 (0) | 2020.02.16 |
자바스크립트 알짜배기 - 1 (0) | 2020.01.28 |