Karma ベースの JS 単体テストを Maven に追加しています。次の構成を使用しました。
<plugin>
<groupId>com.kelveden</groupId>
<artifactId>maven-karma-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<browsers>Chrome</browsers>
</configuration>
</plugin>
を使用すると、テストはマシン上で (Maven なしで) 個別に動作しますkarma start karma.conf.js
が、Maven を使用すると、次のエラーが発生しました。
[ERROR] Failed to execute goal com.kelveden:maven-karma-plugin:1.0:start (default)
on project web: There was an error executing Karma. Cannot run program "karma":
CreateProcess error=2, The system cannot find the file specified -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
com.kelveden:maven-karma-plugin:1.0:start (default) on project web:
There was an error executing Karma.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
...
Caused by: java.io.IOException: Cannot run program "karma": CreateProcess error=2,
The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at com.kelveden.karma.StartMojo.createKarmaProcess(StartMojo.java:151)
... 22 more
Caused by: java.io.IOException: CreateProcess error=2,
The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 23 more
少し奇妙だと思う理由は次のとおりです。このクラスによると、 はkarma.conf.js
デフォルトで見つかるはずです ( @Parameter(defaultValue = "${basedir}/karma.conf.js", property = "configFile", required = true)
)。また、-DconfigFile=...
パラメーターに絶対パスと相対パスを渡そうとしましたが、機能しませんでした。Windowsを使っていましたが、問題ないと思います。構成のどこが間違っているのか正確にはわかりませんが、アドバイスをいただければ幸いです。