私はmavenとjasmineが初めてで、角度のあるアプリケーションで単体テストを実行するためのmavenの設定に問題があります。angular-mocks.jsを test/javascript/lib フォルダーに追加するとすぐに問題が発生します。
mvn test
htmlunit.ScriptException
angular-mocks ファイルを追加するだけでスローします。ファイルを削除すると、問題なく実行されます (もちろん、モックに依存する部分はありませんが、エラーをスローするのではなく、単体テストとして失敗します)。
このエラーの原因と修正方法を知っている人はいますか?
EDITを変更するとエラーが異なるため、
これはhtmlunit<browserVersion>
の問題であると強く思います。
クロムは以下を提供します:
TypeError: オブジェクト [オブジェクト HTMLDocument] に関数 attachEvent が見つかりません。(
http://localhost:55408/src/lib/angular.js#1568
)
FIREFOX_3_6 は以下を与えます:
引数 [String, NativeArray, Boolean] を指定して Node.removeEventListener() を呼び出す例外
INTERNET_EXPLORER_9 では次のようになります。
引数 [String, NativeArray] を指定して Node.detachEvent() を呼び出す例外
スタック トレース (抜粋 FF):
[ERROR] Failed to execute goal com.github.searls:jasmine-maven-plugin:1.3.1.2:test (default) on project my-jasmine-project: The jasmine-maven-plugin encountered an exception:
[ERROR] java.lang.RuntimeException: org.openqa.selenium.WebDriverException: com.gargoylesoftware.htmlunit.ScriptException: Exception invoking Node.removeEventListener() with arguments [String, NativeArray, Boolean]
[ERROR] Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28'
[ERROR] System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.4', java.version: '1.6.0_51'
[ERROR] Driver info: driver.version: HtmlUnitDriver
[ERROR] at com.github.searls.jasmine.runner.SpecRunnerExecutor.execute(SpecRunnerExecutor.java:39)
...
pom.xml (抜粋):
<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>1.3.1.2</version>
<configuration>
<preloadSources>
<source>lib/angular.js</source>
<!-- <source>lib/angular-mocks.js</source> -->
<source>http://code.angularjs.org/1.1.5/angular-mocks.js</source>
</preloadSources>
</configuration>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
angular-mocks.js を test/javascript/lib フォルダーに追加しても、angularjs Web サイトから直接参照しても、同じエラーが発生します。