programing

Node.js와 함께 사용하기에 가장 좋은 테스트 프레임워크는 무엇입니까?

i4 2023. 9. 13. 22:19
반응형

Node.js와 함께 사용하기에 가장 좋은 테스트 프레임워크는 무엇입니까?

저는 https://github.com/ry/node/wiki/modules#testing 에서 테스트 프레임워크의 긴 목록을 살펴 보았습니다.이러한 프레임워크에 대한 경험은 무엇입니까?

분명 브라우저에서 실행할 수 있는 기능은 큰 보너스가 되겠지만, 저는 주로 Node.js에 관심이 있습니다.비동기식 경사가 심한 것이 좋을 것 같습니다.

업데이트:

생각에는 모카가 최고입니다.


이러한 프레임워크에 대한 경험은 무엇입니까?

저는 테스트 커버가 있는 꽤 멋진 테스트 프레임워크인 익스프레스를 가지고 놀았습니다.Express.js(Node.js와 Connect를 기반으로 구축된 터무니없이 빠른(그리고 작은) 서버측 자바스크립트 웹 개발 프레임워크)를 만든 TJ 홀로웨이척에 의해 개발되었습니다.저는 최근에 그가 더 나은 테스트 경험을 위해 Expresso와 함께 사용할 수 있는 should.js라는 멋진 라이브러리를 가지고 있는 것을 보았습니다.

물론 브라우저에서 실행할 수 있는 기능은 큰 이점이 될 것입니다.

브라우저에서 실행할 수 있다고 생각하지 않지만 브라우저에서 실행하려는 이유도 이해가 되지 않습니다.

주로 Node.js에 관심이 많습니다.비동기식 경사가 심한 것이 좋을 것 같습니다.

익스프레스에서 인용:

각 콜백에 전달된 인수는 Exit 이전의 것으로, 일반적으로 콜백이 호출되었음을 주장하는 데 사용됩니다.

Exit 전에 사용하여 비동기 기능을 테스트할 수 있습니다.


팁: TJ 홀로웨이척GitHub에서 매우 훌륭한 오픈 소스 코드를 만들기 때문에 그를 팔로우하세요.

나는 서약을 사용합니다.비동기 BDD 프레임워크(Behavior Driven Development)를 사용하여 작업을 쉽게 수행할 수 있는 JS.

제가 최근에 본 바로는 많은 사람들이 NPM 모듈을 테스트하는 것을 선택했기 때문에 지금까지 사용하는 것이 가장 좋다고 생각합니다.

NodeJS와 함께 사용할 수 있는 인기 있는 테스트 프레임워크는 다음과 같습니다.

You can also see a list of JavaScript test frameworks here

Few more libs that could help you write better code are those:

There is also Bamboo CI Server by Atlassian it automates builds and tests. It is a package for Apache/Tomcat (which sux because it uses Java and that makes it very heavy) also is not free but it has a starter license which costs $10 so I believe it is affordable. It is the most featured of all CI servers I found so far and it supports all unit tests that support xUnit that means that you can run builds/tests for any language with Bamboo.

Another option for CI with NodeJS is Travis which lot of people use for their open source projects, as it says A hosted continuous integration service for the open source community.

There is also a google group discussion with Continuous Integration for Node JS Projects topic.

Based on the asker's comments above, I tried out vows, and it solved a lot of problems I was having with my async testing. Its ability to mix serial and parallel testing is awesome.

Make sure you read the guidance doc carefully, but once you get the hang of it, it's flexible, powerful, and produces nice, clean results.

UPDATE: I would also encourage people to check out should for their asserts. It allows for very flexible, very readable asserts, and is compatible with both Expresso and Vows, and probably most other test frameworks as well.

(I'm posting this as a separate answer just in case people don't notice the comments on Alfred's answer.)

업데이트 1/7/2015: 그 이후로 저는 서약에서 모카로, 그리고 샤이에서 차이로 바꾸었습니다.Mocha는 약속을 사용하는 비동기식 테스트에 훨씬 더 나은 지원을 하고 있고 Chai는 다음을 포함하여 몇 가지 유연한 주장 옵션을 허용합니다.expectapi, 객체 프로토타입을 수정하는 것을 좋아하지 않는 사람들을 위해.

자스민은 크기가 작고 브라우저와 노드 모두에서 실행되기 때문에 특별히 자바스크립트 테스트에 사용하기 시작했습니다.또한 매우 견고한 보고 및 정합기 API를 갖추고 있어 향후 다른 툴과 쉽게 통합할 수 있습니다.내장된 모킹 프레임워크를 사용하는 것은 브라우저에서 TDD용 qunit을 사용할 때 가장 먼저 추가하는 것 중 하나이기 때문에 유용합니다.

진정한 BDD 프레임워크를 원한다면 Yadda를 고려해 볼 수 있습니다.mocha, jasmine, nodeunit, qunit, zombie, casperjs와 통합되어 기능 파일을 지원합니다.

   Scenario: provides the version of all services
      given service x is running
      and service y is running
      when I request the service versions
      then service x should be version 0.0.1
      and service y should be version 0.0.2

노드 유닛을 사용해 왔는데 비동기 기능으로 작동하는 기능은 비교적 간단합니다.

의 블로그에 노드 유닛으로 바로 갈 수 있는 멋진 산책로가 있습니다.

[ 참고 : 블로그 게시글 이후 API가 변경되었습니다 –setUp(callback)그리고.tearDown(callback)둘 다 콜백을 인수로 받아들입니다. 이 인수는 설정/해제가 완료되면 호출해야 합니다. ]

언급URL : https://stackoverflow.com/questions/4308786/what-is-the-best-testing-framework-to-use-with-node-js

반응형