将Karma JavaScript测试与Maven集成
我正在向Maven添加基于Karma的JS单元测试。我使用了以下配置:将Karma JavaScript测试与Maven集成,javascript,unit-testing,maven,karma-runner,Javascript,Unit Testing,Maven,Karma Runner,我正在向Maven添加基于Karma的JS单元测试。我使用了以下配置: <plugin> <groupId>com.kelveden</groupId> <artifactId>maven-karma-plugin</artifactId> <version>1.0</version> <executions> <execution>
<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>
这就是为什么我觉得有点奇怪:根据,默认情况下应该找到
karma.conf.js
(@参数(defaultValue=“${basedir}/karma.conf.js”,property=“configFile”,required=true)
)。另外,我试图在-DconfigFile=…
参数中传递绝对和相对路径,但没有成功。我用的是Windows,但我认为这不应该是个问题。我不确定配置中到底会出现什么错误,敬请给出建议。我认为karma.conf.js已经就位(即参数确实起作用),但根据
final ProcessBuilder=new ProcessBuilder(“karma”、“start”、configFile.getAbsolutePath())代码>
根据您提到的文件。我认为这是一个bug,已经修复了
我试着用这个插件的版本1.2-SNAPSHOT
再次运行测试(克隆并构建),它正确地启动了Karma
[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