Я пытаюсь добавить модульное тестирование 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.