Node.js의 탄생과 JavaScript라는 언어의 범용성이 커짐에 따라 JavaScript의 테스트 환경은 점점 더 중요해졌다.
JavaScript가 서버언어로 사용되면서 JavaScript 테스트는 e2e 테스트 뿐만아니라 BDD 또는 TDD가 가능한 유닛 테스트가 필요했고,
기존 테스트 환경은 발전했고, 새로운 테스트 프레임워크들이 탄생했다.
여러종류의 테스트 프레임워크 중 Mocha, Jasmine, QUnit을 비교해보자.
결론
테스트 비교
Mocha |
Jasmine |
Qunit | |
버전 |
3.4.0 |
2.6.1 |
2.3.2 |
인기 |
중간 |
높음 |
낮음 |
assertion 라이브러리 |
chai 라는 외부 라이브러리 사용 |
내장 |
내장 |
러너 |
Karma 가능 |
Karma 가능 (Python, Ruby) | Karma 가능 |
난이도 |
보통 (3rd party library 필요, 유연함) |
쉬움 | 가장 쉬움 |
커뮤니티 |
12.3K github Stars, 4.45K stack over flow |
12.4K github Stars, 8.01K stack over flow |
3.63K github Stars, 1K stack over flow |
특징 |
Simple, flexible, fun javascript test framework for node.js & the browser | DOM-less simple JavaScript testing framework |
A JavaScript Unit Testing framewor |
테스트 문법
Mocha |
var assert = require('assert'); |
Jasmine |
|
Qunit |
|
|
사람들이 좋아하는 이유(출처 https://stackshare.io/stackups/jasmine-vs-mocha-vs-qunit)
Mocha |
Jasmine |
Qunit |
105 오픈소스 |
50 TDD 로 사용할 수 있음 |
5 단순함 |
77 단순함 |
39 오픈소스 |
3 오픈소스 |
62 Promise 지원 |
14 RSpec 표준 |
3 세팅하기 쉬움 |
32 유연함 | 11 DOM조차 필요없는 독립성 |
2 Promise 지원 |
18 사용하기 쉬움 |
10 훌류한 커뮤니티 |
|
7 브라우저와 서버 테스트 | 5 세팅하기 쉬움 | |
2 다른 좋은 대안이 없음 |
3 단숨함 | |
2 Pivotal-Labs에서 개발함 |
Stackshare 특징비교 (https://stackshare.io/stackups/jasmine-vs-mocha-vs-qunit)
구글 트렌드
'JAVASCRIPT' 카테고리의 다른 글
Html5 Video Player 알아보기, 개발하기 (1) | 2017.06.06 |
---|---|
Javscript Framework와 Library (Angular VS React.js VS VanillaJS) (0) | 2017.05.22 |