JGiven 开源项目快速入门指南

JGiven 开源项目快速入门指南

JGivenBehavior-Driven Development in plain Java项目地址:https://gitcode.com/gh_mirrors/jg/JGiven

JGiven 是一个面向Java开发者的友好且实用的行为驱动开发(BDD)工具,它允许开发者通过流畅的领域特定API来编写测试场景,并生成可供业务专家阅读的报告,作为活的文档。

1. 项目目录结构及介绍

JGiven 的仓库展现了一套模块化的架构,以下是一些关键组件的概述:

  • 根目录: 包含了整个项目的管理文件。

    • README.md: 项目简介与快速上手说明。
    • LICENSE: 许可证文件,表明使用的是Apache 2.0许可。
    • gradle.properties, build.gradle: Gradle构建配置文件。
    • src/main/javasrc/test/java: 源代码和测试代码的位置。
  • 核心模块 (jgiven-core): 提供JGiven的核心实现,是所有其他模块的基础。

  • 框架集成模块

    • jgiven-junit, jgiven-junit5: 分别提供了对JUnit 4/5的整合。
    • jgiven-testng: 针对TestNG的集成,让JGiven可以应用于基于TestNG的测试环境中。
  • 报告模块 (jgiven-html5-report): 负责从测试执行期间生成的JSON文件编译成易于理解的HTML5报告。

  • 其他支持模块: 如jgiven-spring提供了Spring框架的集成,允许舞台类作为Spring bean管理等。

  • 示例与插件: 诸如example-projects, jgiven-gradle-plugin, jgiven-maven-plugin用于展示如何使用以及提供构建系统集成。

2. 项目的启动文件介绍

在实际应用中,由于JGiven是作为测试库使用的,没有传统的“启动文件”。但如果你指的是运行JGiven示例或集成到你的项目中,通常的起点是在使用JUnit或TestNG进行单元测试的测试类上。比如,一个典型的测试类可能会以@Test注解开始,结合JGiven的步骤定义(Stage classes)来编排场景。

示例代码可能看起来像这样:

import com.tngtech.jgiven.junit.ScenarioTest;
import com.tngtech.jgiven.stage.GivenStage;
import com.tngtech.jgiven.stage.ThenStage;
import com.tngtech.jgiven.stage.WhenStage;

public class PancakeFryingScenarioTest extends ScenarioTest<GivenStage, WhenStage, ThenStage> {
    
    // 测试方法定义场景步骤
    @Test
    public void a_pancake_can_be_fried_out_of_an_egg_milk_and_flour() {
        given().an_egg().and()
               .some_milk().and()
               .the_ingredient("flour");
        when().the_cook_mangles_everything_to_a_dough().and()
             .the_cook_fries_the_dough_in_a_pan();
        then().the_resulting_meal_is_a_pancake();
    }
}

此代码并非直接“启动”项目,而是在JUnit测试运行时被调用,从而执行并验证BDD场景。

3. 项目的配置文件介绍

主要配置文件

  • build.gradle: Gradle构建脚本,这里配置了项目的依赖关系、任务、编译规则等。
  • gradle.properties: 存储Gradle构建过程中的属性值,如版本号或项目默认设置。
  • 对于特定的环境配置或更细粒度的调整,配置可能存在于各个模块的子目录下,例如报告样式或插件配置等。

请注意,每个具体模块内部可能有其特定配置文件,但它们更多服务于模块自身的构建和运行逻辑,而非整个项目的启动配置。实际应用JGiven时,开发人员需在自己的项目中引入JGiven作为依赖,并按需调整测试类的配置,以适应特定的测试框架和环境需求。

JGivenBehavior-Driven Development in plain Java项目地址:https://gitcode.com/gh_mirrors/jg/JGiven

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌爱芝Sherard

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值