Плагин Jasmine Maven, включая мои скрипты с использованием файлового протокола
Я пытаюсь добавить модульное тестирование JavaScript в наш проект и узнал о плагине Jasmine Maven. Я следовал указаниям и закончил с этим в моем pom.xml:
<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>1.2.0.0</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<jsSrcDir>${project.basedir}/src/main/webapp/resources/js</jsSrcDir>
<jsTestSrcDir>${project.basedir}/src/test/javascript</jsTestSrcDir>
</configuration>
</plugin>
я бегу mvn jasmine:bdd
и получить ожидаемый результат. Я тогда иду в http://localhost:8234
и все, что я получаю, это пустой экран. Я смотрю в консоли и вижу это для каждого из моих файлов js:
Not allowed to load local resource: file:///absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js
HTML-код для страницы включает в себя мои сценарии, как это:
<script type="text/javascript" src="file:/absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js"></script>
Итак, мой вопрос, почему плагин использует файловый протокол для включения js? Это как обычно это работает? Если так, как я могу заставить свой браузер разрешить локальный ресурс? Есть ли способ помешать этому?
На всякий случай, если это имеет значение, я попробовал это с Firefox и Chrome, и я использую OS X.
1 ответ
Недавно я столкнулся с этой проблемой, и проблема заключалась в том, что мой проект находился в каталоге, в котором были пробелы.
Это было на Windows, но это может быть то же самое на OSX, поэтому стоит попробовать.
Так, например, мой проект был в такой директории:
C:\directory with spaces\myproject
Изменение на следующее исправило jasmine:bdd
команда:
C:\directorywithoutspaces\myproject
Удачи!