Skip to content
Limhojun edited this page Feb 28, 2017 · 11 revisions

mago3djs는 Jasmine (mocha + chai)을 사용하고 있습니다. Jasmine 자바스크립트을 테스트하기 위한 테스트 프레임워크입니다. Behavior-Driven Javascript 으로, 테스트 케이스를 쉽게 작성할 수 있게 api 가 구성되어 있습니다. Test Runner Karma을 사용하고 있습니다.

설정

npm install mocha chai –g
npm install --save-dev mocha chai karma karma-browserify karma-chai karma-chrome-launcher karma-firefox-launcher karma-html-reporter karma-ie-launcher karma-mocha karma-mocha-reporter karma-phantomjs-launcher karma-spec-reporter

Spec 이나 Suite 수행을 건너뛰기

삭제는 매우 비효율적이고 주석은 귀찮은 작업입니다. Jasmine에서는 아주 편리한 방법을 제공하고있습니다. it이나 describe앞에 x 만 추가해주면 됩니다. (ex : xit, xdescribe)

스파이(Spy)

Jasmine 으로 테스트 작성 시, Spy 로 쉽게 Mock 객체를 만들 수 있습니다. 실제 객체를 만들기엔 비용과 시간이 많이 들거나 의존성이 길게 걸쳐져 있어 제대로 구현하기 어려울 경우, 가짜 객체를 만들어 사용합니다.

Mock 객체는 언제 필요한가?

  • 테스트 작성을 위한 환경 구축이 어려운 경우
    • 환경 구축을 위한 작업 시간이 많이 필요한 경우에 Mock 객체를 사용합니다.
    • 특정 모듈을 각조 있지 않아서 테스트 환경을 구축하지 못할 때 또는 타 부서와의 협의나 정책이 필요한 경우에 사용합니다.
  • 테스트가 특정 경우나 순간에 의존적인 경우
  • 테스트 시간이 오래 걸리는 경우
  • 개인 PC의 성능이나 서버의 성능문제로 오래 걸릴수 있는 경우 시간을 단축하기 위해 사용합니다.
Clone this wiki locally