Spring Boot web项目的TDD流程

本文通过一个Spring Boot web项目展示了TDD的流程,包括编写测试、运行测试、编写代码、重构等步骤。从Controller到Service再到Repository,每个层级都独立测试,使用JUnit、Mockito和Hamcrest等工具。在Controller层模拟请求,Service层处理业务,Repository层与数据库交互,最终实现RESTful请求。整个过程遵循红灯-绿灯-重构的原则,确保代码质量。
摘要由CSDN通过智能技术生成

概述

TDD(Test-driven development) 测试驱动开发,简单点说就是编写测试,再编写代码。这是首要一条,不可动摇的一条,先写代码后写测试的都是假TDD。
测试驱动开发可以分为三个周期,周而复始,红灯-绿灯-重构。由以下几个步骤构成:

  1. 编写测试
  2. 运行所有测试
  3. 编写代码
  4. 运行所有测试
  5. 重构
  6. 运行所有测试

一开始编写测试,肯定通不过,红灯状态,进行代码编写,然后运行测试,测试通不过,测试通过,即变成绿灯。
测试不通过,或者需要重构代码,再次运行所有测试代码…
接下来通过一个简单的,一个RESTful请求的Spring boot web项目,演示和说明TDD的过程。
这个功能大致是这样的,一个simple元素有id和desc两个属性
用户发送GET请求http接口 http://localhost:8080/simples 返回所有的simple元素的json数组

1 技术工具

JDK8+
Spring Boot 2.1+
maven or Gradle
JPA
JUnit 5+
Mockito
Hamcrest

一个常见的RESTful请求处理的MVC架构:

用户访问http url
通过Controller层接口
Controller层调用Service的实现
Service接口通过Repsoitory层访问数据库,并最终返回数据给用户

2 构建Spring Boot工程

构建一个Spring Boot Maven工程,并添加所需的依赖
参考依赖如下

  <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency&
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值