[본 포스팅은 인프런 -"김정환 강사님의 테스트주도개발(TDD)을 통해 견고한 js 소프트웨어 만들기" 강의를 개인 학습용으로 정리한 내용입니다.]
- Tdd 목적
-일부 타 프로그래밍 언어에는 컴파일 과정에서 문법 검사를 시행하지만 js같은 경우 직접 결과를 확인해야 하는 문제가 발생한다.
- 단위테스트
단위(UNIT): 특정 조건에서 어떻게 작동해야 하는지 정의. (함수로 표현)
-단위테스트의 단계
1. 준비(arrange) : 인풋을 준비하는 단계
2. 실행(act) : 인풋을 전달해서 함수를 실행하는 단계
3. 단언(assert) : 결과를 검증하는 단계.
- 테스트 주도개발의 패턴
적색(Red)-녹색(Green)-리팩터(Refactor)
1. 레드단계 : 기능을 테스트할 수 있는 테스트 코드를 만듬.실패하는 테스트 코드를 만드는 단계(위의 단위테스트. 여기서는 테스트 실패. 기능코드가 없기 때문.)
2. 그린단계 : 기능코드를 작성. 테스트에 통과할 정도로만 구현, 테스트에 성공
3. 블루단계 : 추상화,확장가능,중복제거의 리펙터 과정을 거침.(코드 개선시 기존 로직이 망가질 수도 있어서 부담을 갖게 됨
(테스트 코드의 성공 여부에 따라서 내가 작성한 코드의 리팩토링에 대한 확신을 갖는 단계)
※핵심 : 레드-그린-블루를 반복, 테스트하기 쉬운 코드를 만들고 함수당 하나의 기능을 하도록 설계하게 됨.
재스민 프레임웍을 설치, TDD 개발환경 구축방식
- standalone 방식 : 모든 자스민 코드를 브라우저에 올려서 실행하는 방법. 실행결과를 간단하게 확인 가능하지만, 실무에서 거의 사용하지 않음.
- karma라이브러리 와 함께 설치하는 방식 .(자동화) : 실무에서 주로 사용하는 방식.
1. https://github.com/jasmine/jasmine/releases 에서 자스민 다운로드.(2.7.0버전 기준)
-testrunner : 테스트 코드를 실행하는 파일(standalone으로 설치한 자스민은 html파일이 테스트 러너가 됨. karma방식은 karma가 testrunner가 됨.)
2. "git checkout -f install-jasmine" 명령어 실행&설치 (윈도우용 git은 https://www.git-scm.com/downloads 에서 다운로드.)
'포트폴리오 > 학습' 카테고리의 다른 글
러닝스푼즈 터틀 트레이딩 강좌 후기. (0) | 2019.06.15 |
---|---|
리눅스(우분투) ssh 세팅 (0) | 2019.03.17 |
virtualbox & linux(우분투) 설치 (0) | 2019.03.17 |
파이썬 DataFrame에서 int형을 Date로 형변환 하여 사용하기. (0) | 2019.01.22 |
인프런] 김정환 강사님의 테스트주도개발(TDD)을 통해 견고한 js 소프트웨어 만들기 - 2 (0) | 2019.01.08 |