Update 3 : Ab Meteor 1.3 enthält Meteor eine Testanleitung mit schrittweisen Anweisungen für Einheiten-, Integrations-, Akzeptanz- und Lasttests.
Update 2 : Ab dem 9. November 2015 wird Velocity nicht mehr beibehalten . Xolv.io konzentriert seine Bemühungen auf Schimpansen , und die Meteor Development Group muss einen offiziellen Testrahmen auswählen .
Update : Velocity ist ab 0.8.1 die offizielle Testlösung von Meteor .
Zu diesem Zeitpunkt wurde nicht viel über automatisierte Tests mit Meteor geschrieben. Ich erwarte von der Meteor-Community, dass sie Best Practices für Tests weiterentwickelt, bevor sie etwas in der offiziellen Dokumentation festlegt. Immerhin hat Meteor diese Woche 0,5 erreicht, und die Dinge ändern sich immer noch schnell.
Die gute Nachricht: Sie können Node.js Testtools mit Meteor verwenden .
Für mein Meteor-Projekt führe ich meine Unit-Tests mit Mocha durch , wobei ich Chai für Behauptungen verwende. Wenn Sie nicht den vollständigen Funktionsumfang von Chai benötigen, empfehle ich stattdessen die Verwendung von should.js . Ich habe momentan nur Unit-Tests, obwohl Sie auch Integrationstests mit Mocha schreiben können.
Stellen Sie sicher, dass Sie Ihre Tests im Ordner "tests" ablegen, damit Meteor nicht versucht, Ihre Tests auszuführen.
Mocha unterstützt CoffeeScript , meine Skriptsprache für Meteor-Projekte. Hier ist ein Beispiel-Cakefile mit Aufgaben zum Ausführen Ihrer Mokka-Tests. Wenn Sie JS mit Meteor verwenden, können Sie die Befehle für ein Makefile anpassen.
Ihre Meteor-Modelle müssen geringfügig modifiziert werden, um sich Mocha auszusetzen. Dies erfordert einige Kenntnisse über die Funktionsweise von Node.js. Stellen Sie sich jede Node.js-Datei als in ihrem eigenen Bereich ausgeführt vor. Meteor stellt Objekte in verschiedenen Dateien automatisch einander zur Verfügung, gewöhnliche Knotenanwendungen wie Mocha tun dies jedoch nicht. Exportieren Sie jedes Meteor-Modell mit dem folgenden CoffeeScript-Muster, um unsere Modelle mit Mocha testbar zu machen :
# 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?
... und importieren Sie oben in Ihrem Mokka-Test das Modell, das Sie testen möchten:
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
Damit können Sie mit Ihrem Meteor-Projekt Unit-Tests schreiben und ausführen!