Как мне настроить пути к моим файлам javascript в автоматически сгенерированном Jasmine / Maven ManualSpecRunner.html? - PullRequest
4 голосов
/ 04 мая 2011

Я думаю, что вопрос говорит о большей части. У меня есть автоматически сгенерированный файл ManualSpecRunner.html, созданный плагином maven / jasmine, и я получил его, чтобы поместить себя в развертываемый .war, используя:

<jasmineTargetDir>${basedir}/pathForMyWebapp</jasmineTargetDir>

Однако все ссылки на файлы js в ManualSpecRunner.html являются жестко запрограммированным файлом: /// ссылки - это немного мысленно, я хочу, чтобы они были просто относительными путями к файлам, которые также находятся в веб-приложении. т.е.

В настоящее время он дает мне этот путь:

file:///home/username/code/HEAD/pathForMyWebapp/js/yui.js

тогда как мне нужно, чтобы было гораздо проще

/pathForMyWebapp/js/yui.js

Я попытался изменить две другие переменные в сценарии maven, но ни одна из них, похоже, не дает желаемого эффекта, ни один из этих параметров конфигурации не делает то, что мне нужно, вторая, по-видимому, не дает никакого эффекта:

<jsSrcDir>/pathForMyWebapp</jsSrcDir>

ни

<jsTestSrcDir>/pathForMyWebapp</jsTestSrcDir>

Я просмотрел документацию, но думаю, что, должно быть, что-то упустил (кроме того, больше примечаний по различным параметрам конфигурации, перечисленным в https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/java/com/github/searls/jasmine/AbstractJasmineMojo.java, было бы полезно, чтобы я мог разобраться, если я делать это неправильно или если это невозможно!)

Есть предложения?

[p.s. Я изменил некоторые пути, так как они содержат конфиденциальную информацию, поэтому, пожалуйста, не обращайте внимания на их странности!]

1 Ответ

4 голосов
/ 05 мая 2011

Мне кажется, я понимаю источник вашего замешательства.Похоже, что вы пытаетесь направить цель jasmine-maven-plugin в каталог внутри упакованного файла * .war вашего проекта, чтобы вы могли запускать свои спецификации для кода после его развертывания всервер, это правильно?

К сожалению, плагин не был разработан с учетом этого использования.Каталог jasmineTargetDir обычно имеет значение по умолчанию target/jasmine и не предназначен для связывания с вашим приложением (он аналогичен target/surefire-reports, сгенерированному maven-surefire-plugin для модульных тестов Java).Таким образом, причина того, что теги сценария в ManualSpecRunner.html указывают на недопустимые расположения, заключается в том, что этот файл создается для запуска из локальной файловой системы в браузере с рабочей станции, на которой строится проект (для упрощения TDD).

Все это говорит о том, что, если я правильно понял ваше намерение, я думаю, что было бы крутой возможностью создать третий компонент спецификации, который можно было бы развернуть с приложением и выполнить удаленно.(Особенно, если спецификации проекта Jasmine являются функциональными / интегрированными, а не изолированными модульными тестами.) К сожалению, это еще не то, что проект делает.и выполнить их на развернутом сервере, вам потребуется скопировать ManualSpecRunner.html и jasmine в src/main/webapp, исправить ссылки на теги сценария, а затем вручную сохранить его при добавлении и удалении файлов.

Имеет смысл?

...