[javascript] Node.js 단위 테스팅 [닫기]

현재 node.js (서버 측 js) 단위 테스트 프레임 워크가 있습니까? 제공된 Assert 모듈보다 조금 더 깊은 것을 찾고 있습니다.



답변

나는 node-unit을 사용하여 정말로 행복했습니다.

원래 Expresso 를 사용하고 있었지만 테스트를 병렬로 실행한다는 사실은 몇 가지 문제를 일으켰습니다. (예를 들어 데이터베이스 픽스처 사용은이 상황에서 잘 작동하지 않습니다).


답변

또한 노드에 대한 적절한 테스트 프레임 워크를 찾고 Mocha를 찾았습니다 . Expresso 의 공식 후계자 이며 매우 성숙해 보입니다.

다른 어설 션 라이브러리를 플러그인 할 수 있으며 코드 적용 및 기타 사항에 대한 리포터를 제공합니다 (자신의 플러그인 가능). sync 또는 async를 실행할 수 있으며 간결한 API가 있습니다.

나는 그것을 시도하고 다시보고 할 것이다 …

편집하다:

다른 프로젝트에 전념 한 엄청난 시간이 지난 후 마침내 Javascript 프로젝트로 돌아와서 모카와 함께 놀 시간을 가졌습니다. 나는 그것을 사용하는 것이 좋습니다. 테스트는 매우 잘 읽었으며, gulp와의 통합은 훌륭하고 테스트는 매우 빠르게 실행됩니다. 나는 자동 독립형뿐만 아니라 브라우저 내 (browserify) 테스트 실행 및 해당 코드 적용 범위 보고서를 약 반나절 만에 설정할 수있었습니다 (대부분 gulp에서 browserify를 사용하는 방법을 이해하는 데 소요되는 시간). 나에게 모카는 테스트 프레임 워크에 아주 좋은 선택 인 것 같습니다.

최신 정보:

나는 여전히 모카에 대해 매우 확신합니다. chai와 통합하면 다양한 어설 션 스타일을 플러그인 할 수 있습니다. 이 github 프로젝트 에서 작업 설정을 체크 아웃 할 수 있습니다 . 코드 커버리지 보고서, 자동 감시자 및 IntelliJ와의 우수한 통합 기능을 통합하여 현재 카르마와 함께 사용하고 있습니다.


답변

나는 개인적으로 단언 모듈을 사용했지만 더 많은 것을 원한다는 것을 알았습니다. 나는 많은 노드 모듈을 살펴 보았고 인기있는 단위 테스트 프레임 워크는 노드 단위 이며 (Expresso와 같은 사람이 만들었습니다 (업데이트 된 이름입니까?)

맹세 도 유망 해 보인다.


답변

개인적으로 나는 Expresso를 고수 했지만 대부분의 테스트 스타일을 수용하는 다양한 프레임 워크가 있습니다.

Joyent는 광범위한 목록을 가지고 있습니다 . 가자.


답변

vows 는 node.js에 대한 견고한 단위 테스트 라이브러리이지만 구문은 지루합니다.

API를 체인 가능하게 만드는 vows-fluent 라는 얇은 추상화를 작성했습니다 .

그리고 또 다른 추상화 인 [vows-is]를 작성했는데, 이는 vows-fluent를 기반으로하고 BDD 스타일 구문을 노출시킵니다.

예를 들면

var is = require("vows-is");

is.suite("testing is fun").batch()

    .context("is testing fun?")
        .topic.is("yes")
        .vow.it.should.equal("yes")

.suite().run({
    reporter: is.reporter
});

더 많은 예


답변

다양한 테스트 프레임 워크 중에서 mocha 가 가장 최신이고 구현하기가 매우 쉽다고 생각 합니다. 사용 방법에 대한 훌륭한 자습서는 다음과 같습니다.
http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/


답변

QUnit 에 익숙하다면 QUnit의 기존 프레임 워크 주위에 일종의 노드 래퍼 인 node-qunit 을 사용할 수 있습니다 .