2016-06-12 14 views
5

Für mein Projekt versuche ich Mocha einzurichten, Chai-Tests auszuführen, aber habe ein Problem, wo die Tests überhaupt nicht ausgeführt werden. Der Browser meldet, dass keine Tests bestanden, fehlgeschlagen oder ausgeführt wurden. HierMokkatest läuft nicht Chai Assertion mit Meteor

ist der Code für die Tests:

import {assert} from 'chai'; 
import {Meteor} from 'meteor/meteor'; 

if (Meteor.isclient) { 

    describe('Recipe model', function() { 
     it('should test that a recipe is created', function() { 
      assert.isTrue(true); 
     }); 
    }); 
} 

ich den Test mit dem folgenden Befehl ausführen:

meteor test --driver-package practicalmeteor:mocha 

I practicalmeteor installiert haben: auch chai. Eine Google-Suche schlug vor, chai.should() am Anfang meines Tests zu setzen, aber das half nicht. Ich bin offen für alle Vorschläge.

Prost!

+0

Wird die Testdatei überhaupt geladen? Wo hast du die Datei abgelegt? Hast du den Meteorführer konsultiert? – MasterAM

+1

Ich habe den Meteor Guide oft konsultiert. Soweit ich das beurteilen kann, führen Sie einfach die von mir gepostete Zeile aus und stellen sicher, dass alle Ihre Testdateien * .test.js sind. Der Speicherort der Dateien sollte keine Rolle spielen, aber falls dies der Fall ist, befinden sich meine Tests unter root> client> tests. – Shyyk

+0

Haben Sie Ihre Client-Tests mit @Shyyk ausgeführt? –

Antwort

0

Es stellte sich heraus, dass ich seltsame Probleme beim Importieren von Assert hatte. Ich musste nur folgendes tun, wie von @Tdm beschrieben:

import {chai} from 'meteor/practicalmeteor:chai' 
+0

Dies sollte eher als die Antwort auf die Frage markiert werden. Es als Kommentar zu geben bedeutet nicht notwendigerweise, dass die Frage gelöst wurde. – Xaniff

1

Eines der möglichen Probleme ist ein Tippfehler in der vierten Zeile Ihres Codes: Ersetzen Sie Meteor.isclient durch Meteor.isClient. Ihr Test wurde sogar nicht ausgeführt, weil Meteor.isclient immer false war.

+0

Sie haben Recht! Ich habe das geändert, um der richtige Code zu sein, aber es hat den Test immer noch nicht ausgeführt. Außerdem kann ich die Bedingung herausnehmen und der Test läuft immer noch nicht ... – Shyyk

+1

Ich sehe keine anderen Probleme außer Chai-Import (wahrscheinlich sollte es 'Import {Assert} von 'Meteor/Practicalmeteor: Chai' sein; '). Außerdem empfehle ich Ihnen, [Meteor Todos] (https://github.com/meteor/todos) Projekt zu besuchen. Es enthält Testbeispiele und alles ist korrekt konfiguriert. – Tdm

1

Stellen Sie sicher, dass Sie Ihre Testdatei nicht in das Verzeichnis/tests eingeben. Ich weiß, es ist nicht intuitiv, aber Meteor ignoriert alles in sich/Tests.

+0

Ich stieß auf dieses Problem, behoben es durch Umbenennen von "Tests" in "Test" ('mv Tests/Test /'). – blong

Verwandte Themen