티스토리 뷰
자바스크립트라고 하면 전화번호 형식 검사하고, 삭제하기 전에 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
열 줄 백 줄 짜리 "스크립트"를 떠올리지만, 웹 플랫폼 시대의 자바스크립트는 지난 시대의 자바스크립트와는 다르다.
이미 자바스크립트로 백 줄 천 줄을 짜야 하는 시대다, 조만간 몇 만, 몇 십만 줄을 짜게될지도 모르겠다.
이 쯤되면 자바스크립트도 더 이상 대충 짜서 대충 돌아가면 땡~이 아니다.
소스를 적절히 모듈로 나눠야 하고, 그렇게 나눈 모듈을 테스트도 해야 하고, 그에 맞는 나름대로 디렉토리 구조도 갖춰야 하고, 빌드도 해야 한다.
각설하고, 이 글에서는 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
'hacking > web' 카테고리의 다른 글
Typekit 웹폰트로더 활용 (1) | 2014.01.20 |
---|---|
단일 페이지 인터페이스 웹/앱 개발 (1) | 2011.06.30 |
xui.js - 모바일 html5 웹앱을 위한 초경량 자바스크립트 라이브러리 (0) | 2011.04.08 |
CORS(Cross-Origin Resource Sharing)을 활용한 크로스도메인 Ajax (10) | 2011.03.29 |
앱스프레소 확장 API를 사용한 AJAX (6) | 2011.03.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 자바스크립트
- DeveloperWorks
- 영화
- HTML5
- JavaScript
- nodejs
- docker
- webapp
- maven
- Ajax
- jQuery
- **
- 자전거
- web
- Java
- Eclipse
- ***1/2
- CSS
- 땅끝마을
- 독후감
- 장필순
- ****
- 책
- 노래
- Prototype
- Dojo
- 여행
- 해남
- ***
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함