업데이트 3 : Meteor 1.3부터 meteor에는 단위, 통합, 승인 및 부하 테스트에 대한 단계별 지침이 포함 된 테스트 가이드 가 포함되어 있습니다.
업데이트 2 : 2015 년 11 월 9 일부터 Velocity는 더 이상 유지되지 않습니다 . Xolv.io는 Chimp에 대한 노력을 집중 하고 있으며 Meteor Development Group은 공식 테스트 프레임 워크를 선택해야합니다 .
업데이트 : Velocity 는 0.8.1부터 Meteor의 공식 테스트 솔루션 입니다.
현재 Meteor를 사용한 자동 테스트에 대한 내용은 많지 않습니다. 나는 Meteor 커뮤니티가 공식 문서에서 무엇이든 설정하기 전에 모범 사례 테스트를 발전시키기를 기대합니다. 결국 Meteor는 이번 주에 0.5에 도달했으며 상황은 여전히 빠르게 변하고 있습니다.
좋은 소식 : Meteor와 함께 Node.js 테스트 도구 를 사용할 수 있습니다 .
Meteor 프로젝트의 경우 어설 션에 Chai 를 사용하여 Mocha로 단위 테스트를 실행 합니다. Chai의 전체 기능 세트가 필요하지 않은 경우 should.js를 대신 사용하는 것이 좋습니다 . Mocha로 통합 테스트를 작성할 수도 있지만 현재로서는 단위 테스트 만 있습니다.
Meteor가 테스트 실행을 시도하지 않도록 "tests"폴더에 테스트 를 배치하십시오 .
Mocha는 CoffeeScript를 지원합니다 Meteor 프로젝트에서 제가 선택한 스크립팅 언어 인 . 다음 은 Mocha 테스트를 실행하기위한 작업 이 포함 된 샘플 Cakefile 입니다. Meteor에서 JS를 사용하는 경우 Makefile에 대한 명령을 자유롭게 조정하십시오.
Meteor 모델은 Mocha에 자신을 노출하기 위해 약간의 수정이 필요하며이를 위해서는 Node.js의 작동 방식에 대한 지식이 필요합니다. 각 Node.js 파일은 자체 범위 내에서 실행되는 것으로 생각하십시오. Meteor는 서로 다른 파일에있는 객체를 서로 자동으로 노출하지만 Mocha와 같은 일반 Node 응용 프로그램은이를 수행하지 않습니다. , 모카에 의해 우리의 모델을 테스트 할 수 있도록하기 위해 수출 다음 CoffeeScript 패턴으로 각 Meteor 모델을 .
# Export our class to Node.js when running
# other modules, e.g. our Mocha tests
#
# Place this at the bottom of our Model.coffee
# file after our Model class has been defined.
exports.Model = Model unless Meteor?
... 그리고 Mocha 테스트 상단에서 테스트 할 모델을 가져옵니다.
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
이를 통해 Meteor 프로젝트에서 단위 테스트를 작성하고 실행할 수 있습니다!