티스토리 뷰

자바스크립트라고 하면 전화번호 형식 검사하고, 삭제하기 전에 confirm 이나 하는
열 줄 백 줄 짜리 "스크립트"를 떠올리지만, 웹 플랫폼 시대의 자바스크립트는 지난 시대의 자바스크립트와는 다르다.
이미 자바스크립트로 백 줄 천 줄을 짜야 하는 시대다, 조만간 몇 만, 몇 십만 줄을 짜게될지도 모르겠다.
이 쯤되면 자바스크립트도 더 이상 대충 짜서 대충 돌아가면 땡~이 아니다.
소스를 적절히 모듈로 나눠야 하고, 그렇게 나눈 모듈을 테스트도 해야 하고, 그에 맞는 나름대로 디렉토리 구조도 갖춰야 하고, 빌드도 해야 한다.

각설하고, 이 글에서는 jasmine이라는 유닛 테스트 프레임웍을 이용해서 자바스크립트 유닛 테스트를 해보려고 한다.
jasmine은 javascript+examine의 합성어 처럼 보이는데, 자타공인 jsunit의 공식 후계자다. xunit(junit, nunit, ...)과 유사해서 기존 유닛 테스트 프레임웍을 사용해본 개발자들이라면 별 어려움이 없을 듯...

준비물:
1. jasmine 홈페이지에서 jasmine-standalone.zip을 내려 받아서 적절한 곳에 풀어놓자.
2. 자바스크립트 모듈(js)
3. 테스트 모듈(js)
4. jasmine 설정 파일(html)

디렉토리 구성은 쓰는 사람 맘대로지만,
내가 사용한 디렉토리 구조는 대충 다음과 같다:
src
- hello.js
test
- test_hello.js
-SpecRunner.html
JASMINE_HOME/
- ... 

먼저 테스트 대상 자바스크립트 모듈인 hello.js 부터 살펴보자:

--snip--

다음으로 hello.js 모듈을 테스트하기위한 test_hello.js 를 살펴보자:

--snip--

마지막으로, 두 개의 자바스크립트를 구동하여 실제 테스트 수행하는 SpecRunner.html을 살펴보자:

--snip--

이제 준비가 끝났으니 SpecRunner.html 파일을 브라우져로 열어보자.
이렇게 나오면 된거다.

jasmine은 BDD라는 방법을 지향한다고 하지만, 결과적으로는 xUnit과 비슷하다.

다음에 jasmine으로 비동기 함수를 테스트하는 방법, js-test-driver를 사용해서 테스트를 자동화하는 방법을 알아보기로하고...
오늘은 요기까지~ 휘릭=3=3=33
 
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함