現在のプロジェクトでは、Jasmineを使用してJSテストを設定しています。テストはビルドごとに自動的に実行されるようにしたいので、Mavenビルドにプラグインしました。私はJavascriptのいくつかの基本的なテストを実行することができ、すべてが桃色に機能しています。ここまでは順調ですね!
ただし、リッチクライアントインターフェイスを構築し、サーバーに対して多くのコールバックを実行しているため、コードには多くの$.ajax呼び出しがあります。呼び出しを含むJSファイルをロードしようとすると(テストを実行せず、処理はまだ実行されていません)、Mavenビルドは毎回クラッシュします。これは、すでにコールバックを実行しようとしているためです。
[ERROR] Caused by: java.io.FileNotFoundException: F:\Users\gjoris\Development\Source\xxx\xxx-war\target\jasmine\rest\xxx\search (The system cannot find the path specified)
したがって、明確にするために、ここではテストを実行しておらず、ソースをロードしているだけです。これは、これまでの私のプラグインの構成です。
<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>
<sourceIncludes>
<include>sorting*.js</include>
<include>*blabla*.js</include>
</sourceIncludes>
<jsSrcDir>${project.basedir}/src/main/webapp/resources/scripts/</jsSrcDir>
<jsTestSrcDir>${project.basedir}/src/test/javascript</jsTestSrcDir>
<timeout>300</timeout>
<preloadSources>
<!-- Load basic libraries for application-->
<source>${project.basedir}/src/main/webapp/resources/scripts/libs/knockout-2.1.0.js</source>
<source>${project.basedir}/src/main/webapp/resources/scripts/libs/jquery-1.7.2.min.js</source>
<!-- Load all necessary Jasmine plugins -->
<source>${project.basedir}/src/test/javascript/libs/jasmine-ajax/mock-ajax.js</source>
<source>${project.basedir}/src/test/javascript/libs/jasmine-jquery/jasmine-jquery.js</source>
<!-- Load our own mocks -->
(some of our mocks in JS go here)
<!-- Load additional libraries, application specific, which are needed to run -->
(some general JS, which are used everywhere)
</preloadSources>
</configuration>
</plugin>
誰かがこれを経験していて、私がそれをどのように構成しなければならないか知っていますか?