Я использую Phantom JS 1.9.8 на OSX 10.10, но у меня была следующая проблема, и это может помочь вам узнать об этом.
В приложении, которое я использую, флаг ENV.baseUrl имеет значение «/ app-name» (по умолчанию - «/»), и у меня такое же поведение. Тест строит, но не идет дальше.
Если я изменю свой ENV.baseUrl на «/», фантом запускает тесты. Приемочные тесты терпят неудачу (я полагаю, из-за другого URL-адреса, но все модульные тесты проходят). Однако, когда я это делаю ... запуск тестов в реальном браузере перестает работать (потому что он не может найти ресурсы - CSS, JS - больше), я пробовал изменить страницу tests/index.html, чтобы иметь правильный ссылку на скрипты (/ app-name/css/... и т. д.), и я вернулся к запуску тестов в браузере, но фантом перестает работать.
Те же тесты выполняются отлично в «пустом проекте ember-cli», где я копировал свои модели, контроллеры и тестировал этот проект. Это означает, что разница между двумя проектами - это в основном конфигурация среды.
Я нашел эти вопросы
Ember Issue 891, Ember Issue 1003
которые, как представляется, связаны с ситуацией, но оба закрыты в течение некоторого времени. Я исследовал эту проблему почти неделю и не могу получить тесты, запущенные в браузере И через ember test
.
Yo! Унифицированный полис для реального: поставьте https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill в поставщике/phantom-polyfills.js и импортируйте его in Brocfile: 'if (app.env === 'test') { app.import ('vendor/phantom-polyfills.js'); } ' – lessless
@lessless Спасибо, это то, что я в основном сделал, чтобы решить проблему, но я хотел бы получить работу с фантомом 2.0. –
Выполняете ли вы свои тесты с помощью 'ember test' или' ember test --serve'? – alexlafroscia