Обновление 3 : Начиная с версии Meteor 1.3, meteor включает руководство по тестированию с пошаговыми инструкциями по модульному, интеграционному, приемочному и нагрузочному тестированию.
Обновление 2 : с 9 ноября 2015 года Velocity больше не поддерживается . Xolv.io сосредотачивает свои усилия на Chimp , и Meteor Development Group должна выбрать официальную среду тестирования .
Обновление : Velocity - это официальное решение для тестирования Meteor, начиная с версии 0.8.1.
В настоящее время об автоматическом тестировании с помощью Meteor написано не так много. Я ожидаю, что сообщество Meteor разработает передовые методы тестирования, прежде чем вносить что-либо в официальную документацию. В конце концов, на этой неделе Meteor достиг отметки 0,5, и ситуация все еще быстро меняется.
Хорошие новости: вы можете использовать инструменты тестирования Node.js с Meteor .
Для своего проекта Meteor я запускаю модульные тесты с Mocha, используя Chai для утверждений. Если вам не нужен полный набор функций Chai, я рекомендую использовать вместо него should.js . На данный момент у меня есть только модульные тесты, хотя вы также можете писать интеграционные тесты с помощью Mocha.
Обязательно поместите свои тесты в папку «tests», чтобы Meteor не пытался выполнить ваши тесты.
Mocha поддерживает CoffeeScript , язык сценариев, который я выбрал для проектов Meteor. Вот образец файла Cakefile с задачами для запуска ваших тестов Mocha. Если вы используете JS с Meteor, не стесняйтесь адаптировать команды для Makefile.
Ваши модели Meteor потребуют небольшой модификации, чтобы они были доступны для Mocha, а для этого потребуется некоторое знание того, как работает Node.js. Считайте, что каждый файл Node.js выполняется в пределах своей собственной области действия. Meteor автоматически предоставляет друг другу объекты в разных файлах, но обычные приложения Node, такие как Mocha, этого не делают. Чтобы сделать наши модели доступными для тестирования с помощью Mocha, экспортируйте каждую модель Meteor с помощью следующего шаблона CoffeeScript:
# 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!