irish.log
로그인
irish.log
로그인
[모던 JavaScript 튜토리얼] - [3.5] 테스트 자동화와 Mocha
IRISH
·
2024년 1월 22일
팔로우
0
js
0
JS
목록 보기
39/80
학습일 : 2024.01.22
URL
https://ko.javascript.info/testing-mocha
학습 요약
테스트는 왜 해야하는가?
각 유즈 케이스를 생각하며 코드를 작성하게 되는데, 수많은 케이스를 상기하면서 코드를 수정하는 것은 거의 불가능에 가깝기 때문이다.
Behavior Driven Development
테스트(test), 문서(documentaion), 예시(example)을 한대 모아놓은 개념이다.
코드를 작성하기 전에, 코드가 무슨 일을 하는지 상상한 후 이를 자연어로 표현해야한다.
이때 만들어진 산출물은 명세서(Specification) 또는 짧게 스펙(spec)이라고 부른다.
스펙의 구성요소
describe("title", function() { ... }) : 구현하고자하는 기능( 제목, it()의 집합)
it("유즈 케이스 설명", function() { ... }) : 특정 유즈 케이스에 대한 기능(설명, 테스트 케이스 함수)
assert.equal(value1, value2) : 검증, value1, 2가 서로 다르면 에러가 발생함.
개발순서
명세서 초안 작성.(기본적엔 테스트도 작성)
초안을 보고 코드 작성
Mocha(테스트 F/W)를 이용하여 명세서 실행. (에러가 발생하지 않을 때 까지 코드 수정)
모든 테스트를 통과하는 코드 "초안" 완성.
명세서에 지금까지 고려하지 않았던 유즈케이스 추가. (에러가 발생하지 않을 때 까지 코드 수정)
반복
고려사항
SPEC 개선하기 : 더 많은 유즈케이스를 추가해보자.
테스트 하나에선 한 가지만 확인하기 : 연관이 없는 사항 두 개를 점검한다면 분리한다.
더 많은 테스트를 위해 for로 it 블록을 자동으로 생성하기
before / after : 전체 테스트가 실행되기 전에 실행, 전체 테스트가 실행된 후에 실행
beforeEach / afterEach : 매 it이 실행되기 전에 실행, 매 it이 실행된 후에 실행
다양한 assertion 활용 ( euqal, strictEqual, notEqual, isTrue, isFalse)
it 블록 하나에 여러개의 테스트를 담으려하면 안된다. 차라리 여러개의 it을 쓰고 it.only를 통해 하나만 실행.
IRISH
#Software Engineer #IRISH
팔로우
이전 포스트
[모던 JavaScript 튜토리얼] - [3.4] 닌자코드
다음 포스트
[모던 JavaScript 튜토리얼] - [3.6] 폴리필
0개의 댓글
댓글 작성