Плагин 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

Удачи!

Другие вопросы по тегам