programing

Node.js 장치 테스트

telecom 2023. 8. 28. 20:50
반응형

Node.js 장치 테스트

현재 좋은 Node.js(서버 측 JavaScript) 유닛 테스트 프레임워크가 있습니까?

제공된 Assert 모듈보다 조금 더 깊은 것을 찾고 있습니다.

나는 Nodeunit을 사용하게 되었고 그것에 정말 만족합니다.

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

또한 노드용으로 괜찮은 테스트 프레임워크를 찾고 있었는데 모카를 찾았습니다.그것은 익스프레스소의 공식적인 후계자이고 매우 성숙해 보입니다.

다양한 어설션 라이브러리를 플러그인할 수 있으며, 코드 적용 범위 및 기타 사항(사용자가 직접 플러그인할 수 있음)에 대한 리포터를 제공합니다.동기식 또는 비동기식으로 실행할 수 있으며 간결한 API를 가지고 있습니다.

한번 해보고 다시 보고하도록 하겠습니다...

편집:

다른 프로젝트에 엄청난 시간을 할애한 후, 저는 마침내 자바스크립트 프로젝트로 돌아와 모카를 가지고 놀 시간을 가졌습니다.저는 그것을 사용하는 것을 진지하게 추천할 수 있습니다.테스트는 매우 잘 읽히고 Gulp.js와의 통합은 훌륭하며 테스트는 매우 빠르게 실행됩니다.저는 브라우저 내(Browserify) 테스트 실행 및 해당 코드 적용 범위 보고서뿐만 아니라 자동 독립 실행 기능을 설정할 수 있었습니다(Gulp.js의 Browserify 사용 방법을 이해하는 데 대부분의 시간이 소요됨).저에게 모카는 테스트 프레임워크를 위한 매우 좋은 선택인 것 같습니다.

업데이트:

나는 여전히 모카에 대해 매우 확신합니다.Chai와의 통합을 통해 다양한 어설션 스타일을 플러그인할 수 있습니다.GitHub 프로젝트에서 작업 설정을 확인할 수 있습니다.저는 지금 카르마와 함께 사용하고 있으며 코드 커버리지 보고서, 자동 감시기, IntelliJ IDEA와의 좋은 통합을 통합하고 있습니다.

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

Joyent는 광범위한 목록을 가지고 있습니다. 한번 해보세요.

저는 개인적으로 어설션 모듈만 사용해왔지만, 더 많은 것을 필요로 하는 제 자신을 발견하기도 합니다.나는 많은 Node.js 모듈을 살펴보았고 인기 있는 유닛 테스트 프레임워크는 Nodeunit이며 그래야 합니다(이는 에스프레소와 같은 사람이 만든 것입니다(아마도 업데이트된 이름일 것입니다).

서약 또한 유망해 보입니다.

warpes는 Node.js를 위한 솔리드 유닛 테스트 라이브러리이지만 구문은 지루합니다.

저는 API를 사슬로 묶을 수 있는 warpes-fluent라는 얇은 추상화를 썼습니다.

그리고 저는 또 다른 추상화인 [vows-is]를 썼는데, 이는 서약이 유창하고 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
});

많은 예들.

저는 사용 가능한 다양한 테스트 프레임워크 에서 모카가 가장 최신이며 구현이 매우 간단하다고 생각합니다.다음은 사용 방법에 대한 멋진 튜토리얼입니다.

Node.js, Express 및 Mecha를 사용하여 Rest API를 구축하고 테스트하는 방법

QUnit에 익숙한 사용자라면 QUnit의 기존 프레임워크를 둘러싼 노드 래퍼의 일종인 node-qunit을 사용할 수 있습니다.

test-proxy는 장치 테스트를 위한 강력한 웹 기반 프런트 엔드를 제공하는 npm 패키지입니다.개별 또는 그룹 테스트 실행 및 노드 검사기를 개별 테스트로 전환하는 등의 작업을 지원합니다.현재 모카를 지원하고 있으며 향후 수요에 따라 더 많은 프레임워크가 지원될 예정입니다.

자세한 내용은 여기를 참조하십시오.

고지 사항:제가 작가입니다.

원래 Node.js용으로 만들어진 deadunit은 Node.js 및 브라우저용 JavaScript 유닛 테스트 라이브러리입니다.고유 속성 중 일부:

  • 쉬운 학습 곡선
  • 명령행(색상 또는 일반 텍스트) 또는 HTML로 테스트 결과를 출력할 수 있습니다.
  • 그것은 당신의 주장이 있는 실제 코드 행을 출력하기 때문에 당신이 시험 주석을 작성하는 데 많은 시간을 들이지 않아도 당신의 출력은 의미가 있습니다.
  • 심니다합이 있습니다.count은 asserts를 만듭니다.
  • 예외와 그들이 가지고 있는 첨부 데이터를 출력합니다.
  • 코드가 걸려 있는지 여부를 알려줍니다(원하지 않지만 일반적으로 눈치채지 못하는 것).
  • 이벤트 기반 API를 통해 네트워크를 통해 또는 원하는 방식으로 테스트 결과를 스트리밍할 수 있습니다.
  • 노드 파이버를 사용한 테스트 지원

방금 카르마와 자스민: 나르마와 함께 Node.js를 테스트하기 위해 사용하는 프로젝트를 업로드했습니다.

Node.js 모듈은 Node-webkit 브라우저에 로드되므로 Node.js 모듈을 실행하고 동일한 힙에서 jQuery와 같은 라이브러리를 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/7254025/node-js-unit-testing

반응형