2013-09-25 13 views
5

Zmieniam kod, rozszerzam funkcjonalność i dodam nowe unieważnienie. Teraz, gdy uruchomię moich testów jednostkowych z karma (test Framework - jaśminowym), to rzucić mi błądtest nie działa na karma/jaśmin/require.js "Brak sygnatury czasowej dla * lib *!" błąd

'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 

Co robię źle?

+1

można dodać plik konfiguracyjny karma? – busypeoples

+0

zaktualizuj treść pytania – Ph0en1x

Odpowiedz

3

To był mój błąd całkowicie. podczas korzystania z karma-requirejs masz plik main-test.js, w którym można skonfigurować pobieranie require.js plików. Dodaję wzmiankę o kątowym pasku startowym z błędem, dlatego require.js nie mógł znaleźć tego pliku i wyrzucić ten błąd. Tak więc w moim przypadku ten błąd oznacza podanie błędnej nazwy pliku.

+1

Czy możesz pokazać, gdzie błąd znajdował się w pliku 'main-test.js'? –

+0

Na pewno jest to trochę trudne do zapamiętania, ponieważ było to jakieś 4 miesiące temu, ale myślę, że to była literówka lub zła kolejność zależności. – Ph0en1x

+0

tylko w jedną stronę, zmiana wartości w test-main i karma.conf nie wchodzi w życie, dopóki nie uruchomisz ponownie procesu testowania w terminalu. Więc zapisz pliki i wykonaj "karma start" po – Millenjo

1

Może to być spowodowane tym, że nie może uzyskać dostępu do pliku źródłowego. Powinieneś skonfigurować karmę, aby obsługiwała skrypty, których wymaga ich szukanie. Na przykład mają config w konf karma

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

Pytanie jest stary, PO już rozwiązał swój problem teraz, ale dodam moje dwa centy:

Z komunikatu o błędzie (na koniec pierwszego wiersza błędu) możemy wywnioskować, że dołączono plik paths (lub deps) do main-test.js z rozszerzeniem .js. W RequireJS, trzeba zadzwonić nazwami plików bez rozszerzenie, więc paths (lub deps) będzie wyglądać mniej więcej tak:

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