Открытие Funcunit вызывает проблемы в онлайн-сервисах CI, таких как Travis и CircleCI

У меня есть плагин donejs ( https://github.com/riescorp/donejs-typeahead), и я решил использовать funcunit ( http://funcunit.com/) для тестирования взаимодействия с графическим интерфейсом. Все отлично работает на моем компьютере, либо запуск тестовой страницы ( http://localhost:8080/test/test.html), либо запуск npm test на консоли.

Проблема в том, что при запуске тестов на CircleCI или Travis CI тесты не пройдут. Ошибка что-то вроде "xxxxx страница не загружена вовремя!" (см. пример ниже).

Существует упрощенная ветка, чтобы показать, что происходит ( https://github.com/riescorp/donejs-typeahead/tree/testing-open), вы можете клонировать ее, а затем запустить npm install а также npm test и вы увидите, что это работает.

Вы можете проверить подробности ошибки в CircleCI здесь:

Travis генерирует ту же ошибку, но она не будет выполнена, так как я тестирую и Firefox, и Chrome (Chrome не поддерживается в Travis)

Пример ошибки:

1) QUnit "test/test.html" on Chrome 53.0.2785 / Linux 0.0.0: donejs-typeahead GUI Interaction DEBUG TESTS DEBUG 1 Page //../src/donejs-typeahead.html not loaded in time!: Error: Expected true but was false at Object.ok (http://localhost:3996/node_modules/steal-qunit/node_modules/qunitjs/qunit/qunit.js:2194:12) at Object.assertOK (http://localhost:3996/node_modules/funcunit/browser/adapters/qunit.js:12:10) at http://localhost:3996/node_modules/funcunit/browser/queue.js:168:27

1 ответ

Решение

Вы можете настроить Funcunit для открытия новых окон в iframe, установив frameMode: true, Это то, что настраивает генератор приложений DoneJS.

Другие вопросы по тегам