5

私はプロジェクトに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を使用しています。

4

1 に答える 1

2

私は最近この問題に遭遇しました、そして問題は私のプロジェクトがその中にスペースを持っているディレクトリにあったということでした。

これはWindowsでしたが、OSXでも同じかもしれないので、試してみる価値があります。

たとえば、私のプロジェクトは次のようなディレクトリにありました。

C:\directory with spaces\myproject

次のように変更すると、jasmine:bddコマンドが修正されました。

C:\directorywithoutspaces\myproject

幸運を!

于 2012-10-09T15:42:07.007 に答える