Actualización 3 : a partir de Meteor 1.3, meteor incluye una guía de prueba con instrucciones paso a paso para la unidad, integración, aceptación y prueba de carga.
Actualización 2 : a partir del 9 de noviembre de 2015, Velocity ya no se mantiene . Xolv.io está centrando sus esfuerzos en Chimp , y el Meteor Development Group debe elegir un marco de prueba oficial .
Actualización : Velocity es la solución de prueba oficial de Meteor a partir de 0.8.1.
No se ha escrito mucho sobre las pruebas automatizadas con Meteor en este momento. Espero que la comunidad de Meteor evolucione las mejores prácticas de prueba antes de establecer nada en la documentación oficial. Después de todo, Meteor alcanzó 0.5 esta semana y las cosas todavía están cambiando rápidamente.
La buena noticia: puede utilizar las herramientas de prueba de Node.js con Meteor .
Para mi proyecto Meteor, ejecuto mis pruebas unitarias con Mocha usando Chai para las afirmaciones. Si no necesita el conjunto completo de funciones de Chai, le recomiendo usar should.js en su lugar. Solo tengo pruebas unitarias en este momento, aunque también puedes escribir pruebas de integración con Mocha.
Asegúrese de colocar sus pruebas en la carpeta "tests" para que Meteor no intente ejecutar sus pruebas.
Mocha es compatible con CoffeeScript , mi elección de lenguaje de programación para proyectos Meteor. Aquí hay un ejemplo de Cakefile con tareas para ejecutar sus pruebas de Mocha. Si está utilizando JS con Meteor, no dude en adaptar los comandos para un Makefile.
Sus modelos Meteor necesitarán una pequeña modificación para exponerse a Mocha, y esto requiere cierto conocimiento de cómo funciona Node.js. Piense que cada archivo Node.js se ejecuta dentro de su propio alcance. Meteor expone automáticamente objetos en diferentes archivos entre sí, pero las aplicaciones normales de Node, como Mocha, no hacen esto. Para que nuestros modelos sean probables por Mocha, exporte cada modelo de Meteor con el siguiente patrón 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?
... y en la parte superior de su prueba de Mocha, importe el modelo que desea probar:
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
¡Con eso, puede comenzar a escribir y ejecutar pruebas unitarias con su proyecto Meteor!