4

Я пытаюсь протестировать наше приложение 2.4.x для игр, которое сильно использует реакцию на рендеринг таблиц и подобных вещей. При простом запуске приложения все javascript обрабатываются и выводятся должным образом. Однако на нашем этапе интеграции (используя что-то, что расширяет WithBrowser для поддержки селена в примерах specs2), активы явно недоступны.Загрузка javascript из тестов интеграции (Play/Selenium)

Мы получаем много ошибок, как в следующем (по одному для каждого файл JavaScript мы пытаемся загрузить):

[error] - com.gargoylesoftware.htmlunit.html.HtmlPage - Error loading JavaScript from [http://localhost:19001/assets/lib/react/react-with-addons.js] 

есть все, что можно добавить, чтобы сказать игру, чтобы обработать наш яваскрипт трубопровода перед испытанием/фазы интеграции?

+0

Я знаю, что это очевидная вещь, но вы уверены, что URL-адрес, которые HtmlUnit докладывает, безусловно, правильно? –

+0

Они генерируются с контроллеров активов, которые используются при запуске приложения в реальном времени (за исключением имени хоста: порт, который определяется при запуске сервера). –

ответ

2

Вы используете конфигурацию IntegrationTest в SBT?

У меня была та же проблема, и, наконец, решить, добавив:

(managedClasspath in IntegrationTest) += (packageBin in Assets).value 

моему build.sbt

Это не может быть то же самое для вас, но я использую Gulp для создания мои файлы css и js и поместите их в каталог «out». Так что для того, чтобы получить их подобраны сборками я должен был добавить:

unmanagedResourceDirectories in Assets <+= baseDirectory { _/"out" } 
+0

вверх, пока не увидел свое решение, я делал unmanagedResourceDirectories в IntegrationTest <+ = BASEDIRECTORY (_/«мишень/веб/открытый/тест») Это требуется запускать модульное тестирование первой, но иначе работал. Ваш не работает для меня - я использую следующий стек sbt web-плагинов addSbtPlugin ("com.typesafe.sbt"% "sbt-rjs"% "1.0.7") addSbtPlugin ("com.typesafe.sbt "%" sbt-digest "%" 1.1.0 ") addSbtPlugin (" com.typesafe.sbt "%" sbt-gzip "%" 1.0.0 ") addSbtPlugin (" org.madoushi.sbt "%" sbt -sass "%" 0.9.3 ") addSbtPlugin (" io.teamscala.sbt "%" sbt-babeljs "%" 1.0.3 ") –

+0

Кажется, мы идем по этому пути двумя разными способами. Я использую Gulp для генерации моих css и js-файлов (от sass и jsx) и размещаю их в директории «out» вместо sbt-web. Эти активы собирались при запуске на сайте и с помощью тестов, но не при запуске IntegrationTests. Исправлена ​​эта настройка managedClasspath. – Chris

Смежные вопросы