2013-09-25 3 views
5

Ich ändere den Code, erweitere einige Funktionen und füge einen neuen Komponententest hinzu. Nun, wenn ich meine Unit-Tests mit Karma (Test-Framework - Jasmin) laufen, werfen Sie es mir ein FehlerTest läuft nicht auf Karma/Jasmine/require.js 'Es gibt keinen Zeitstempel für * lib *!' Fehler

'There is no timestamp for /libs/angular-bootstrap/ui-bootstrap-tpls.js!' 
Uncaught Error: Script error for: angular-bootstrap 
http://requirejs.org/docs/errors.html#scripterror 
at http://localhost:9876/base/node_modules/karma-requirejs/lib/require.js?1379984163000:138 

Was ich falsch mache?

+1

Können Sie die Karma-Konfigurationsdatei hinzufügen? – busypeoples

+0

den Körper der Frage aktualisieren – Ph0en1x

Antwort

3

Es war mein Fehler komplett. Wenn Sie karma-requirejs verwenden, haben Sie main-test.js Datei, wo konfigurieren, wie zu require.js erhalten Sie die Dateien. Ich füge Bezug auf angular-bootstrap mit Fehler hinzu, deshalb require.js konnte diese Datei nicht finden und diesen Fehler werfen. Also in meinem Fall bedeutet dieser Fehler falschen Dateinamen zur Verfügung gestellt.

+1

Ist es möglich, dass Sie zeigen, wo der Fehler in Ihrer 'main-test.js' Datei war? –

+0

Es ist ein bisschen schwer, sich daran zu erinnern, weil es vor 4 Monaten war, aber ich denke, es war ein Tippfehler oder die falsche Reihenfolge der Abhängigkeiten. – Ph0en1x

+0

nur ein heads-up, Ändern der Werte in test-main und karma.conf wird erst wirksam, wenn Sie den Testprozess im Terminal neu starten. Speichern Sie die Dateien und starten Sie "Karma starten" nach – Millenjo

1

Es kann sein, weil es nicht auf Ihre Quelldatei zugreifen kann. Sie sollten Karma so konfigurieren, dass es Scripts bereitstellt, in denen require nach ihnen sucht. Zum Beispiel haben die Config im Karma conf

files:[{pattern: 'node_modules/**/*.js', included:false}] 
1

Die Frage ist alt, löste das OP bereits sein Problem jetzt, aber ich werde meine zwei Cent hinzufügen:

Von der Fehlermeldung (Ende der ersten Fehlerzeile) können wir schließen, dass Sie eine paths (oder deps) Datei in main-test.js mit der .js Erweiterung aufgenommen haben. In RequireJS, müssen Sie ohne die Erweiterung die Dateinamen nennen, so dass Ihr paths (oder deps) würde wie folgt aussehen mehr oder weniger:

paths: { 
    'ui-bootstrap': 'libs/angular-bootstrap/ui-bootstrap-tpls' // <- without the extension 
} 
Verwandte Themen