gpt4 book ai didi

javascript - 在基于 Maven 的项目中自动化 JavaScript 测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:58:05 24 4
gpt4 key购买 nike

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

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

我已经尝试使用目前可用的解决方案,但大多数解决方案都陈旧且文档损坏。我能得到的最接近的是使用 https://github.com/mxro/java-qunit但它在单个 junit 测试中运行所有 js 测试,并在第一次失败时停止。

最佳答案

从 Maven 运行 JS 测试

Frontend Maven Plugin可以调用 npm 命令。 Here是一个使用它的项目示例——这是一个展示不同类型测试的演示项目,因此它的配置比通常情况下要复杂一些。这是安装包的方式:

    <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>

运行 Karma 测试:

        <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>

运行 Protractor 测试(通过 npm 脚本):

        <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>

综合报告

报告本身不是这个插件的一部分。负责报告生成的是您的 JS 框架(如 Karma、Jasmine)。您可以使用 xUnit 格式并让 CI(如 Jenkins)从中生成单个报告。或者使用 Allure具有适用于多种语言和框架的适配器的工具(如果您的框架没有适配器,则编写自己的工具相对容易)。

关于javascript - 在基于 Maven 的项目中自动化 JavaScript 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34785717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com