Node.js 단위 테스팅
현재 좋은 node.js (서버 측 js) 단위 테스트 프레임 워크가 있습니까? 제공된 Assert 모듈보다 조금 더 깊은 것을 찾고 있습니다.
나는 node-unit을 사용하여 정말로 행복했습니다.
원래 Expresso 를 사용하고 있었지만 테스트를 병렬로 실행한다는 사실은 몇 가지 문제를 일으켰습니다. (예를 들어 데이터베이스 픽스처 사용은이 상황에서 잘 작동하지 않습니다).
또한 노드에 대한 적절한 테스트 프레임 워크를 찾고 Mocha를 찾았습니다 . Expresso 의 공식 후계자 이며 매우 성숙해 보입니다.
다른 어설 션 라이브러리를 플러그인 할 수 있으며 코드 적용 및 기타 사항에 대한 리포터를 제공합니다 (자신의 플러그인 가능). sync 또는 async를 실행할 수 있으며 간결한 API가 있습니다.
나는 그것을 시도하고 다시보고 할 것이다 ...
편집하다:
다른 프로젝트에 전념 한 엄청난 시간이 지난 후 마침내 자바 스크립트 프로젝트로 돌아와서 모카와 함께 놀 시간을 가졌습니다. 나는 그것을 사용하는 것이 좋습니다. 테스트는 매우 잘 읽었으며, gulp와의 통합은 훌륭하고 테스트는 매우 빠르게 실행됩니다. 나는 자동 독립형뿐만 아니라 브라우저 내 (browserify) 테스트 실행 및 해당 코드 적용 범위 보고서를 반나절 만에 설정할 수있었습니다 (대부분 gulp에서 browserify를 사용하는 방법을 이해하는 데 소요되는 시간). 나에게 모카는 테스트 프레임 워크에 아주 좋은 선택 인 것 같습니다.
최신 정보:
나는 여전히 모카에 대해 매우 확신합니다. chai와 통합하면 다양한 어설 션 스타일을 플러그인 할 수 있습니다. 이 github 프로젝트 에서 작업 설정을 체크 아웃 할 수 있습니다 . 코드 커버리지 보고서, 자동 감시자 및 IntelliJ와의 우수한 통합 기능을 통합하여 현재 카르마와 함께 사용하고 있습니다.
나는 개인적으로 단언 모듈을 사용했지만 더 많은 것을 원한다는 것을 알았습니다. 나는 많은 노드 모듈을 살펴 보았고 인기있는 단위 테스트 프레임 워크는 노드 단위 이며 (Expresso와 같은 사람이 만들었습니다 (업데이트 된 이름입니까?)
맹세 도 유망 해 보인다.
개인적으로 나는 Expresso를 고수 했지만 대부분의 테스트 스타일을 수용하는 다양한 프레임 워크가 있습니다.
Joyent는 광범위한 목록을 가지고 있습니다 . 가자.
Mocha로 설정했습니다-여기에 훌륭한 자습서가 있습니다 -http : //brianstoner.com/blog/testing-in-nodejs-with-mocha/
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 및 브라우저 용 자바 스크립트 단위 테스트 라이브러리입니다. 고유 한 속성 중 일부 :
- 쉬운 학습 곡선
- 명령 줄 (컬러 또는 일반 텍스트) 또는 HTML로 테스트 결과를 출력 할 수 있습니다
- 어설 션이있는 실제 코드 줄을 인쇄하므로 테스트 주석을 작성하는 데 많은 시간을 소비하지 않아도 출력이 의미가 있습니다.
count
예상되는 예외를 처리하고 비동기식 어설 션을 쉽게 처리 할 수 있는 간단한 어설 션이 있습니다.- 예외 및 첨부 된 데이터를 인쇄합니다.
- 코드가 걸려 있는지 알려줍니다 (원하는 것은 아니지만 일반적으로 눈에 띄지 않습니다)
- 이벤트 중심 API를 통해 네트워크 또는 원하는 방식으로 테스트 결과를 스트리밍 할 수 있습니다.
- 노드 파이버를 사용한 테스트 지원
방금 karma 및 Jasmine : narma 와 nodejs를 테스트하는 데 사용하는 프로젝트를 업로드했습니다 . 노드 모듈은 노드 웹킷 브라우저에로드되므로 노드 모듈을 실행하고 동일한 힙에서 jquery와 같은 라이브러리를 사용할 수 있습니다.
test-studio 는 단위 테스트를위한 강력한 웹 기반 프런트 엔드를 제공하는 npm 패키지입니다. 개별 또는 그룹의 테스트를 실행하고 노드 검사기를 개별 테스트에 스테핑하는 것과 같은 것을 지원합니다. 현재 모카를 지원하며 앞으로 더 많은 프레임 워크가 지원 될 것입니다.
면책 조항 : 나는 저자입니다.
참고 URL : https://stackoverflow.com/questions/7254025/node-js-unit-testing
'Programing' 카테고리의 다른 글
.NET 구성 (app.config / web.config / settings.settings) (0) | 2020.06.02 |
---|---|
Objective-C에서 self = [super init]가 0이 아닌지 확인해야하는 이유는 무엇입니까? (0) | 2020.06.01 |
Attributes.IsDefined ()에 과부하가없는 이유는 무엇입니까? (0) | 2020.06.01 |
JavaScript에서 왜 2 == [2]입니까? (0) | 2020.06.01 |
빌드 유형이 제품 맛과 다른 이유는 무엇입니까? (0) | 2020.06.01 |