私はプロジェクトにjavascriptユニットテストを追加しようとしていますが、JasmineMavenプラグインについて知りました。私は指示に従い、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の両方でこれを試し、OSXを使用しています。