Подтвердить что ты не робот

Как отлаживать тесты ember-cli, запущенные в phantomjs

Контекст: у меня есть приемочный тест для моего приложения ember-cli, и тест проходит очень хорошо в Chrome. Тем не менее, в phantomjs мой тест терпит неудачу - пользовательский интерфейс не создается таким же образом, и я пытаюсь понять, почему. (Я думаю, что тест был нарушен из-за https://github.com/ember-cli/ember-cli/issues/1763, но общий вопрос о том, как отлаживать остается)

В Chrome я могу использовать стандартные инструменты отладки в своих тестах, и все хорошо, но в phantomjs я не могу получить от него отладчик. Я также не вижу сообщений console.log(), отображаемых в результатах - все, что я получаю, это список результатов теста в моем окне терминала.

Я могу сортировать информацию о диагностике, написав такие вещи, как

equal(true, false, "This is a log message");

а затем я получаю сообщение как детали для утверждения, которое не удалось, или я могу попытаться выяснить, что в DOM с помощью

equal(true, false, document.getElementsByClassName("my-class".innerHTML);

но оба из них: остановка теста будет продолжена, и b: разрешите мне только регистрировать информацию из самого теста, а не мое приложение.

Есть ли способ запустить мои тесты за пределами "теста ember" или каким-то образом подключиться к работающим тестовым процессам? Кроме того, есть ли способ получить сообщения console.log() для вывода на выходе?

4b9b3361

Ответ 2

В testem.json добавить "phantomjs_debug_port": 9000.

Во время выполнения ваших тестов посетите http://localhost:9000 в своем браузере и нажмите длинную ссылку, которая отображается.

Источник: cssugared

Ответ 3

Мне не повезло с другими ответами, поэтому вот что я узнал:

Добавьте return pauseTest(); в точку вашего теста, где вы хотите иметь возможность взаимодействовать с контейнером в браузере. Это в документах, но я не уверен, что это в руководствах.

Ответ 4

Чтобы ответить на часть моего первоначального вопроса о том, "как я могу получить сообщения журнала, чтобы отображаться", если я использую репортер TAP, то на выходе отображаются сообщения console.log(в моем приложении и в моих тестах); репортер xunit не пропускает console.log, что меня сбивает с толку.

(Я также сталкиваюсь с проблемами, когда выполнение тестов в teamcity ведет себя не так, как выполняется локально, в этой ситуации объединение репортера TAP с https://github.com/aghassemi/tap-xunit (или плагин TAP teamcity) позволяет мне получать сообщения журнала, а также проверять количество отсчетов)