如何在一个 Gradle 项目中测试 javascript 和 Groovy

问题描述 投票:0回答:1

我遇到了一种情况,我试图在同一个项目中测试 Groovy 和 Javascript。

以下是我的文件夹结构

以下文件夹中提供的所有源脚本 src/main/javascript src/main/groovy

以下文件夹中提供所有测试脚本 src/测试/javascript src/测试/groovy

目前我可以使用 build.gradle 包含所有 groovy 类

源集{ 主要的 { 绝妙的{ srcDirs = ['数据/forgerock-idm/main/data/script'] } }

为了进行测试,我正在使用 Groovy 的 Spock 框架。

testImplementation 'org.spockframework:spock-core:2.4-M1-groovy-3.0'

我无法找到一种方法在此源集中包含 javascript 文件夹。请让我知道如何实现这一点,以便所有 javascript 也将包含在 Jacoco 代码覆盖率报告中。我用 Groovy 编写的测试类。

javascript unit-testing gradle groovy jacoco
1个回答
0
投票

如果您使用 Jest.js 作为 Javascript 测试工具,它会为您收集代码覆盖率统计数据。然后,您可以将其导出为各种格式,例如文本、json、clover、cobratura 等。

为了在 Gradle 中执行此操作,您需要一个用于 gradle 的 npm 插件,以及一个多项目 gradle 设置。

您的顶级项目将包含 Java 项目的一个目录和 Javascript 项目的另一个目录。根目录将容纳多项目的

build.gradle
settings.gradle
将包含 Java 项目目录和 Javascript 项目目录中的项目。每个目录都将包含一个
build.gradle
文件。请参阅 Gradle 关于 多项目构建的讨论。

您将 Jacoco 插件添加到 Java 项目的

build.gradle
文件中,然后将 npm 插件 添加到 javascript
build.gradle
中,并创建结构以在 Gradle 中控制 npm 构建。然后,您可以从 Gradle 中调用 javascript 构建,这应该执行 Jest,从而运行您的代码覆盖率。

© www.soinside.com 2019 - 2024. All rights reserved.