Używam Phantom JS 1.9.8 na OS X 10.10, ale mam następujący problem i może ci to pomóc.
W aplikacji, której używam, flaga ENV.baseUrl jest ustawiona na "/ app-name" (domyślna nazwa - "/") i mam dokładnie to samo zachowanie. Test jest zbudowany, ale nie idzie dalej.
Jeśli zmienię ENV.baseUrl na "/", fantom przeprowadzi testy. Testy akceptacyjne kończą się niepowodzeniem (zakładam, że z powodu innego adresu URL, ale wszystkie testy jednostek przechodzą pomyślnie). Jednak gdy to zrobię ... uruchomienie testów w prawdziwej przeglądarce przestanie działać (ponieważ nie może znaleźć zasobów - CSS, JS - już), próbowałem zmienić stronę tests/index.html, aby uzyskać poprawną odwołanie do skryptów (/ app-name/css/... etc ...) i wróciłem do uruchamiania testów w przeglądarce, ale phantom przestał działać.
Te same testy działają dobrze w "pustym projekcie ember-cli", w którym skopiowałem moje modele, kontrolery i przetestowałem ten projekt. Oznacza to, że różnica pomiędzy tymi dwoma projektami polega w zasadzie na konfiguracji środowiska.
Znalazłem te kwestie
Ember Issue 891, Ember Issue 1003
które wydają się być związane z sytuacją, ale oba są zamknięte na jakiś czas. Już od prawie tygodnia badam ten problem i wydaje mi się, że testy w przeglądarce nie są dostępne w przeglądarce: I przez ember test
.
Yo! Juzt uze polyfill za prawdziwe: wstaw https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill w dostawcy/phantom-polyfills.js , a następnie zaimportuj go w Brocfile: 'if (app.env === 'test') { app.import (" vendor/phantom-polyfills.js "); } ' – lessless
@lessless Dzięki, to właśnie zrobiłem, aby rozwiązać problem, ale chciałbym, aby rzeczy działały z Phantom 2.0. –
Czy przeprowadzasz testy z 'ember test' lub' ember test --serve'? – alexlafroscia