Я использую плагин ГЭБ 0.9.2 для Грааль 2.3.4Grails вариант ГЭБА -baseUrl не работает для удаленных служб
Я хочу, чтобы запустить функциональные тесты отдельно от службы, на два отдельных хостах.
Я наблюдал следующее:
Если я запустить службу на том же хосте, и выполнить:
grails test-app functional: -baseUrl=
http://localhost:8080/foo/
--non-интерактивный
тогда тесты работать с этой уже запущенной службой и проходить.
Если служба не запущена, и я выполняю ту же самую команду, то новый запуск экземпляра службы запускается внутри grails test-app
, и тесты выполняются против этого. (Это неожиданно для меня)
Если служба работает на другом хосте, при сказать
и я бегу:http://other:16060/foo/
grails test-app functional: -baseUrl=
http://other:16060/foo/
--non-интерактивный
. .. затем запускается локальная служба, и тесты выполняются против этого, а не против указанной удаленной службы. Опять это неожиданно для меня.
Не могу найти документацию, объясняющую это поведение.
Возможно ли запустить test-app
на удаленном ходу?
(я помню, хотя я не проверял, в последнее время такое поведения было и в случае с Грааль 2.2.2)
Я установил это: grails.project.fork = [ тест: ложные ], и это выглядит, из pstree, что его работает один процесс Java с кучей нитей. Он по-прежнему запускает локальный JVM Tomcat с приложением в нем. Я не понимаю, где в исходном коде Grails это «не работает» предполагается (не). Насколько я могу видеть из FunctionalTestPhaseConfigurer, он всегда начнет что-то? –
Если я запускаю nc -l -p 8080 на localhost и запускаю команду grails test, она не запускает новый контейнер и вместо этого пытается запустить тест против не-веб-сервера, который является nc. Я вижу, что первый HTTP-запрос входит в nc. Поэтому, возможно, он полностью игнорирует baseUrl. –
Это может быть ваша проблема - http://jira.grails.org/browse/GRAILS-8651. –