Prowadzimy nasze testy jednostkowe Jasmine przy użyciu kombinacji Karma i PhantomJS na serwerze kompilacji. Uruchomienie testów lokalnie w Chrome działa dobrze, błąd nie występuje tam (co jest innym pytaniem). Oto co się dzieje:PhantomJS kończy działanie po błędzie składni podczas wykonywania testów jednostkowych.
W pewnym momencie w wykonaniu, test wpada w „nieokreślonej” błąd i po prostu zatrzymuje:
PhantomJS 1.9.7 (Mac OS X) ERROR
TypeError: 'undefined' is not an object (evaluating 'dropScope.resize')
at /Users/nwinkler/workspaces/.../foo.js:250
PhantomJS 1.9.7 (Mac OS X): Executed 654 of 1221 ERROR (14.512 secs/14.386 secs)
DEBUG [karma]: Run complete, exitting.
DEBUG [launcher]: Disconnecting all browsers
Nawet gdy uruchomiony karmę z flagą --force
, to nadal wychodzi w tym momencie .
Czy istnieje sposób, aby Karma/PhantomJS kontynuował testy bez zatrzymywania się w tym momencie? Dlaczego PhantomJS nie może naprawić tego błędu?
Nie szukam rozwiązania dla błędu undefined
, to inny temat - chciałbym tylko zrozumieć, dlaczego PhantomJS i Karma wychodzą z tego miejsca i nie kontynuują pozostałych testów jednostkowych.
Czekam na odpowiedź na to jedno również. .. –
Tak dzieje się z moim pakietem również niezależnie od przeglądarki. Próbuję przetestować CKEditor i w naszych testach tworzymy edytor manekina, który powoduje błędy js, ale kiedy próbujesz potwierdzić na jakiejś domenie, błędy js powodują, że Karma zatrzymuje testowanie. – branchgabriel
Aktualizacja: Kiedy nasz pakiet przechodzi od ponad 800 do ponad 1000 testów, te błędy wydają się układać w stosy i powodują wyłączenie. Odkryłem, że zmiana kolejności ładowania w tablicy plików pomaga, ale uniemożliwia nam używanie globów do testów. Karma powinna tylko polegać na twierdzeniu, że nie popełnia błędów. – branchgabriel