Открытие 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 здесь:
- https://circleci.com/gh/riescorp/donejs-typeahead/tree/testing-open
- https://circleci.com/gh/riescorp/donejs-typeahead/74 (образец)
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.