Programing

Node.js 단위 테스팅

lottogame 2020. 6. 1. 07:41
반응형

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

반응형