PhantomJS 2.0, висящий на тест-драйве

У меня есть простое приложение ember-cli. Я запускаю модульные тесты с помощью ember test, который запускает их в phantomJS. Тест с использованием Function.prototype.bind терпит неудачу, из-за известной проблемы phantom 1.9.x отсутствует этот API. Я установил phantom 2.0, но теперь, когда я запускаю ember test, после успешного создания тесты никогда не запускаются, и он просто сидит там, висит, нет ошибки, ничего.

Любые идеи о том, что может быть здесь, или как его отслеживать?

ОС - Windows.

Ответы

Ответ 1

Я использую Phantom JS 1.9.8 на OSX 10.10, но у меня была следующая проблема, и это может помочь вам узнать об этом.

В приложении, которое я использую, флаг ENV.baseUrl имеет значение "/app-name" (по умолчанию - "/" ), и у меня такое же поведение. Тест строит, но не идет дальше.

Если я изменю свой ENV.baseUrl на "/", Phantom запускает тесты. Приемочные тесты терпят неудачу (я полагаю, из-за другого URL-адреса, но все модульные тесты проходят). Однако, когда я это делаю... запуск тестов в реальном браузере перестает работать (потому что он не может найти ресурсы - CSS, JS - больше), я пробовал изменить страницу tests/index.html, чтобы иметь правильный ссылку на скрипты (/app-name/css/... и т.д.), и я вернулся к запуску тестов в браузере, но Phantom перестает работать.

Те же тесты отлично работают в "пустом проекте ember-cli", где я копировал свои модели, контроллеры и тестировал этот проект. Это означает, что разница между этими двумя проектами - это в основном конфигурация среды.

Я нашел эти проблемы

Ember Issue 891, Ember Issue 1003

Похоже, что это связано с ситуацией, но оба они закрыты в течение некоторого времени. Я исследовал эту проблему почти неделю и не могу получить тесты, запущенные в браузере И через ember test.