AngularJS + Testacular / Jasmin unit-tests: Durchgeführt 0 0-ERFOLG
Ich bin versucht, zu schreiben unit-tests für eine AngularJS-Projekt. Das Projekt basiert auf angular-seed und Verwendungen, von Testacular tests ausführen. Jeder Versuch zu laufen test.sh Skript endet immer mit "Ausgeführt 0 von 0 ERFOLG".
Habe ich versucht, dieses super-einfache "test":
describe('Testing Jasmine', function() {
console.log('describe');
var test = 'test';
it('should be test', function() {
console.log('it');
expect(test).toEqual('test');
});
});
Das Ergebnis ist, dass nur 'beschreiben' angemeldet ist, das 'es' Teil übersprungen wird. Wenn ich versuche, die gleiche Sache auf saubere angular-seed-clone alles funktioniert - also gehe ich davon aus, dass das Testsystem selbst mit Testacular und Jasmin einwandfrei funktioniert.
Unser Projekt basiert auf Rails nach, ist aber die saubere eckige Samen, die ich testete zum Vergleich läuft auf Apache, so dass ich dachte, dass dies vielleicht der Unterschied - Durcheinander Pfade oder etwas in das Rails-Projekt.
Aber es gibt keine Fehlermeldungen, e2e-tests arbeiten... und auch ich gehe davon aus, dass, wenn einige Dateien fehlen oder Pfade waren falsch, es wäre nicht in der Lage zu melden, dass 'beschreiben', in-tests - wenn ich das richtig verstehe bedeutet dies, dass Jasmin ist die Verarbeitung der richtigen Datei (es gibt keine anderen Abhängigkeiten in diesem pseudo-test). Wie ist es möglich, dass das 'beschreiben' Teil funktioniert Prima und nur 'es' Teil scheint übersprungen werden?
Jeden Hinweis oder Hilfe würde geschätzt.
- Versuchen Sie zu re-verwenden Sie die gleiche Konfiguration für e2e-tests und unit-tests ? Wenn dem so ist, erstellen Sie eine separate config für e2e-und unit-tests. Das ist genau so, wie es beschrieben wird, in eckige phonecat tutorial. Check out github.com/vojtajina/testacular/issues/66
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie dabei sind unit-tests umfassen nicht die angular-scenario.js Datei in Ihrem testacular config-Datei. Das bricht die unit-tests.
e2e-Tests in testacular hat einen langen Weg zu gehen. Ich kämpfte mit diesem für eine Weile. Es stellt sich heraus, daß die linke Seite von einem erwarten, muss eine der definierten Methoden, die in der angular-Dokumentation: http://docs.angularjs.org/guide/dev_guide.e2e-testing.
der folgenden ist ein Beispiel
Denken Sie daran, wenn Sie nicht geben Sie in einer der vorgeschriebenen Methode aufruft, die erwarten, testacular wird nicht ausgeführt 'es'
Stellen Sie außerdem sicher, dass Sie eines dieser Attribute auf der Seite, die Sie testen:
Weil wenn Funktion
angularInit()
nicht finden element mit einem dieser Argumente Läufer nicht starten.Dies ist besonders wichtig, wenn Sie verwenden möchten, Winkel-test-runner auf webage, dass nicht über ng-app - mit der aktuellen version, es will einfach nicht funktionieren.
Bitte überprüfen Sie die Reihenfolge der Javascript-Dateien.
Einem ähnlichen Problem gemeldet wurde, im Testacular und Neuordnung der js-Dateien behoben, das problem.