在基于maven的项目中自动化javascript测试

在基于maven的项目中自动化javascript测试,javascript,maven,testing,qunit,Javascript,Maven,Testing,Qunit,我有一个基于maven的Java项目,其中还包含一些javascript函数,我希望能够对这些函数进行测试。我正在使用QUnit(但可以切换到另一个js测试框架)来编写测试,但我必须执行index.html才能在浏览器窗口中看到测试的运行 是否有一个当前有效的maven插件可以为我运行这些测试,并理想地将结果与我已经拥有的常规服务器端junit测试一起呈现 我已经尝试过使用当前的解决方案,但大多数解决方案都是旧的,并且文档也不完整。我能得到的最接近的方法是使用,但它在一个junit测试中运行所有

我有一个基于maven的Java项目,其中还包含一些javascript函数,我希望能够对这些函数进行测试。我正在使用QUnit(但可以切换到另一个js测试框架)来编写测试,但我必须执行
index.html
才能在浏览器窗口中看到测试的运行

是否有一个当前有效的maven插件可以为我运行这些测试,并理想地将结果与我已经拥有的常规服务器端junit测试一起呈现


我已经尝试过使用当前的解决方案,但大多数解决方案都是旧的,并且文档也不完整。我能得到的最接近的方法是使用,但它在一个junit测试中运行所有js测试,并在第一次失败时停止。

从Maven运行js测试

有很多方法可以调用npm命令。这是一个演示项目,展示了不同类型的测试,所以它的配置比通常要复杂一些。以下是安装软件包的方式:

    <plugin>
      <groupId>com.github.eirslett</groupId>
      <artifactId>frontend-maven-plugin</artifactId>
      <version>0.0.24</version>
      <executions>
        <execution>
          <id>Install NodeJS and NPM</id>
          <goals>
            <goal>install-node-and-npm</goal>
            <goal>npm</goal>
          </goals>
          <configuration>
            <nodeVersion>v0.12.7</nodeVersion>
            <npmVersion>2.11.3</npmVersion>
          </configuration>
        </execution>
      </executions>
    </plugin>

com.github.eirslett
具有多种语言和框架的适配器的工具(如果您的框架没有适配器,则编写自己的适配器相对容易)

        <execution>
          <id>UI Unit Tests</id>
          <goals>
            <goal>karma</goal>
          </goals>
          <configuration>
            <karmaConfPath>${project.basedir}/src/test/unit-js/karma.conf.js</karmaConfPath>
            <skip>${unit.ui.tests.skip}</skip>
          </configuration>
        </execution>
        <execution>
          <id>UI Component Tests</id>
          <goals>
            <goal>npm</goal>
          </goals>
          <phase>test</phase>
          <configuration>
            <arguments>run component</arguments>
            <skip>${component.ui.tests.skip}</skip>
          </configuration>
        </execution>