Mise à jour 3 : à partir de Meteor 1.3, meteor comprend un guide de test avec des instructions étape par étape pour les tests unitaires, d'intégration, d'acceptation et de charge.
Mise à jour 2 : depuis le 9 novembre 2015, Velocity n'est plus maintenu . Xolv.io concentre ses efforts sur Chimp , et le groupe de développement Meteor doit choisir un cadre de test officiel .
Mise à jour : Velocity est la solution de test officielle de Meteor à partir de la version 0.8.1.
Peu de choses ont été écrites sur les tests automatisés avec Meteor pour le moment. J'attends de la communauté Meteor qu'elle fasse évoluer les meilleures pratiques de test avant d'établir quoi que ce soit dans la documentation officielle. Après tout, Meteor a atteint 0,5 cette semaine, et les choses changent encore rapidement.
La bonne nouvelle: vous pouvez utiliser les outils de test Node.js avec Meteor .
Pour mon projet Meteor, j'exécute mes tests unitaires avec Mocha en utilisant Chai pour les assertions. Si vous n'avez pas besoin de l'ensemble des fonctionnalités de Chai, je vous recommande d'utiliser should.js à la place. Je n'ai que des tests unitaires pour le moment, bien que vous puissiez également écrire des tests d'intégration avec Mocha.
Assurez-vous de placer vos tests dans le dossier "tests" afin que Meteor ne tente pas d'exécuter vos tests.
Mocha prend en charge CoffeeScript , mon choix de langage de script pour les projets Meteor. Voici un exemple de Cakefile avec des tâches pour exécuter vos tests Mocha. Si vous utilisez JS avec Meteor, n'hésitez pas à adapter les commandes pour un Makefile.
Vos modèles Meteor auront besoin d'un peu de modification pour s'exposer à Mocha, ce qui nécessite une certaine connaissance du fonctionnement de Node.js. Considérez chaque fichier Node.js comme étant exécuté dans sa propre portée. Meteor expose automatiquement les objets dans différents fichiers les uns aux autres, mais les applications Node ordinaires, comme Mocha, ne le font pas. Pour rendre nos modèles testables par Mocha, exportez chaque modèle Meteor avec le modèle CoffeeScript suivant:
# 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?
... et en haut de votre test Mocha, importez le modèle que vous souhaitez tester:
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
Avec cela, vous pouvez commencer à écrire et à exécuter des tests unitaires avec votre projet Meteor!