답변:
나는 node-unit을 사용하여 정말로 행복했습니다.
원래 Expresso 를 사용하고 있었지만 테스트를 병렬로 실행한다는 사실은 몇 가지 문제를 일으켰습니다. (예를 들어 데이터베이스 픽스처 사용은이 상황에서 잘 작동하지 않습니다).
.done()
imho 를 호출해야한다는 점에서 약간 이상 합니다.
.done()
비동기 테스트를 수용 해야 합니다. 나는 때때로 조금 다루기가 어려울 수 있지만, 이런 식으로 그렇게하는 데는 상당한 이유가 있다고 생각합니다.
또한 노드에 대한 적절한 테스트 프레임 워크를 찾고 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 을 사용할 수 있습니다 .
원래 node.js 용으로 만들어진 deadunit 은 node.js 및 브라우저 용 자바 스크립트 단위 테스트 라이브러리입니다. 고유 한 속성 중 일부 :
count
예상되는 예외를 처리하고 비동기식 어설 션을 쉽게 처리 할 수 있는 간단한 어설 션이 있습니다.