TDD测试驱动开发

本文详细介绍了测试驱动开发(TDD)的概念,包括其核心流程:变红 - 变绿 - 重构。TDD强调测试先行,通过编写测试用例驱动软件开发。文章还阐述了TDD的开发流程,包括分解任务、实例化需求、编写测试、实现功能、重构代码等步骤,并提供了一个练习题,以FizzBuzz问题为例,帮助读者理解和应用TDD方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TDD概述

  1. 变红 ——> 变绿 ——> 重构
  2. 测试驱动开发(TDD)是一个依赖重复非常短的开发周期的软件开发过程:需求变成非 常具体的测试用例,然后软件只能通过新的测试。
  • 既然是测试驱动,便是测试,测试用例先行;
  • 首先编写好测试用例,期待值,实际值;
  • 开发的目的是让测试运行通过;
  • 开发围绕测试展开;

开发流程

  1. 分解任务,分出步骤
  2. 实例化需求,写清需求细节
  3. 写测试,只看需求和程序的输入输出不看中间过程
  4. 写实现,只为当前的需求,用最简单的方式通过即可
  5. 重构,采用方法消除代码中间冗余和优化代码
  6. 测试,修复,转3
  7. 完成

练习题

  1. 编写一个程序从1到100.当遇到数字为3的倍数的时候,点击“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数点击“FizzBuzz”。 源代码:Github
  • 当输入的是一个平常数字时:
// 测试代码
  @Test
  public void should_get_itself() {
   
    // given

    // when
    String result = new NumberGame().calc(1);
    String result2 = new NumberGame().calc(11);

    // then
    assertEquals("1", result);
    assertEquals("11", result2);
  }
// 根据测试代码写出来的业务代码
public class NumberGame {
   

  public Stri
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值