Aggiornamento 3 : a partire da Meteor 1.3, meteor include una guida ai test con istruzioni dettagliate per unità, integrazione, accettazione e test di carico.
Aggiorna 2 : dal 9 novembre 2015, Velocity non è più mantenuto . Xolv.io sta concentrando i propri sforzi su Chimp e il Meteor Development Group deve scegliere un framework di test ufficiale .
Aggiornamento : Velocity è la soluzione di test ufficiale di Meteor a partire dalla 0.8.1.
Al momento non è stato scritto molto sui test automatizzati con Meteor. Mi aspetto che la comunità di Meteor evolva testando le migliori pratiche prima di stabilire qualcosa nella documentazione ufficiale. Dopotutto, Meteor ha raggiunto 0,5 questa settimana e le cose stanno ancora cambiando rapidamente.
Le buone notizie: puoi utilizzare gli strumenti di test di Node.js con Meteor .
Per il mio progetto Meteor, eseguo i miei unit test con Mocha usando Chai per le asserzioni. Se non hai bisogno del set completo di funzionalità di Chai, ti consiglio di usare invece should.js . Al momento ho solo unit test, anche se puoi scrivere test di integrazione anche con Mocha.
Assicurati di inserire i tuoi test nella cartella "tests" in modo che Meteor non tenti di eseguire i tuoi test.
Mocha supporta CoffeeScript , la mia scelta di linguaggio di scripting per i progetti Meteor. Ecco un esempio di Cakefile con attività per eseguire i tuoi test Mocha. Se stai usando JS con Meteor, sentiti libero di adattare i comandi per un Makefile.
I tuoi modelli Meteor avranno bisogno di una leggera modifica per esporsi a Mocha, e questo richiede una certa conoscenza di come funziona Node.js. Pensa a ogni file Node.js come eseguito all'interno del proprio ambito. Meteor espone automaticamente gli oggetti in file differenti l'uno all'altro, ma le normali applicazioni Node, come Mocha, non lo fanno. Per rendere i nostri modelli testabili da Mocha, esporta ogni modello Meteor con il seguente pattern 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?
... e nella parte superiore del tuo test Mocha, importa il modello che desideri testare:
# 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 ciò, puoi iniziare a scrivere ed eseguire unit test con il tuo progetto Meteor!