ich eine sehr einfache jasmine
Unit-Test zu durchlaufen haben, die eine einfache Operation an einem AngularJS
Controller Targets zu testen, wie folgt:nicht einfach AngularJS Jasmine Test bekommen kann mit dem Chutzpah
/// <reference path="../src/jasmine.js"/>
/// <reference path="../../Scripts/angular.js"/>
/// <reference path="../../Scripts/angular-mocks.js"/>
/// <reference path="../../Scripts/angular-ui-router.js"/>
/// <reference path="../../Scripts/angular-route.js"/>
/// <reference path="../../Scripts/angular-resource.js"/>
/// <reference path="../../Scripts/angular-ui/ui-bootstrap.js"/>
/// <reference path="../../app/app.js"/>
/// <reference path="../../app/controllers/myController.js"/>
describe("my Controller", function() {
var scope, ctrl, vm;
beforeEach(module("app"));
beforeEach(inject(function ($controller, $rootScope) {
scope = $rootScope.$new();
ctrl = $controller(MyController, { $scope: scope });
vm = ctrl;
}));
it("sets the title", function() {
expect(vm.title).toBe("This is the title");
});
});
den obigen Test zu beginnen geht, wenn eine der folgenden verwendet:
- öffnen
SpecRunner.html
, die die gleichen Verweise enthält und zeigt eine bestanden Komponententest imjasmine
Standardtestläufer - Test ohne Änderung läuft, wenn er über
ReSharper
Testläufer läuft (dieses Werkzeug ist nicht wichtig anderes, als die Testdurchläufe unter Verwendung eines anderen Testläufers zu zeigen; der Test ist nicht der Täter)
jedoch egal, wann immer ich einen der folgenden mit Chutzpah
der Test nicht bestanden:
- Run aus dem Zeilenbefehl
chutzpah.console.exe
- Verwenden rechts- mit Menü klicken, öffnet in
VS.NET
zu Run JS-Tests
Jedesmal, wenn der folgende Fehler gegeben:
Error: [$injector:modulerr] Failed to instantiate module app due to: [$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
So ist dies ein sehr typischer Fehler, wenn die AngularJS
Referenzen nicht enthalten sind. Wie Sie jedoch oben sehen können, sind sie sicher enthalten und die anderen Testläufer sehen sie und die Testdurchgänge. Der Fehler ist identisch, unabhängig davon, ob ich den Komponententest über die Befehlszeile ausfühle oder ob ich die Ausgabe in VS.NET betrachte.
Ich habe sogar den /trace
Parameter von der Befehlszeile eingeschaltet und die Datei chutzpah.log
angesehen. Es ist sicher genug, die angularen Referenzdateien zu finden, so dass ich nicht sicher bin, warum der Test fehlschlägt.
Ich habe eine Menge Posts rund um diese gesehen und die Lösung ist immer, dass die Referenzen fehlen. Das ist hier nicht der Fall und ich stecke fest. Was fehlt mir, um diesen Test mit Chutzpah bestehen zu lassen?
Haben Sie auch den Pfad überprüfen? –
Ja absolut. Wie erwähnt, bestehen die anderen Testläufer diesen Test mit diesen Wegreferenzen. Auch wenn ich das Chuzzer-Protokoll sehe, kann ich sehen, dass es die Referenzen im richtigen Pfad findet und sie zum lokalen Test-Netzwerk hinzufügt. – atconway
Können Sie vergleichen, was Sie mit den paar AngularJS Proben versuchen, die mit Chutzpah Quelle (https://github.com/mmanela/chutzpah/tree/master/Samples/Angular) –