Day02JavaWeb【Servlet & ServletContext】新的开发方式

测试驱动开发 TDD ***

  • (1)什么是测试驱动开发?
    测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法

  • (2)有什么特点?
    先编写测试代码–主要逻辑
    再写功能代码–再实现细节
    通过测试来推动整个开发的进行
    这有助于编写简洁可用和高质量的代码,并加速开发过程

src\com\wzx\Demo04.java

在这里插入图片描述
虽然代码中报错,但是主要逻辑是清楚的,报错是因为类未实现,只要实现了,代码错误就自动修复了

public class Person {
    public void eat(String food) {
        System.out.println("吃..."+food);
        int num = 1;
        System.out.println(100/num);
    }
    public void run(int num) {
        System.out.println("跑..."+num);
    }
}

Junit 单元测试***

  • (1)为什么使用Junit?
    测试一个类的多个方法,如果使用main方法,不便利
    细粒度测试
  • (2)为什么Junit
    JUnit是一个Java语言的单元测试框架。
  • (3) junit是在极限编程和重构(refactor)中被极力推荐使用的工具
  • (4)Junit的注解
    @Before
    @After
    @Test

极限编程

要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。

重构

其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。

test\java\com\wzx\PersonTest.java

public class PersonTest {
    private Person person;
    //@Before标记的方法,运行在@Test之前,初始化
    @Before
    public void init(){
         person = new Person();
        System.out.println("init");
    }
    //@After标记的方法运行在@Test方法之后,销毁
    @After
    public void destory(){
        System.out.println("destory");
        person = null;
    }
    //@Test 在测试方法上加,类似main独立运行
    @Test
    public void testEat(){
        System.out.println("testEat");
        person.eat("汉堡");
    }

    @Test
    public void testRun(){

        person.run(1000);
    }
}

点击 左侧绿色按钮即可运行

在这里插入图片描述

在这里插入图片描述

  • 绿色表示没有异常
  • 红色表示出现异常
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

翁老师的教学团队

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

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

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

打赏作者

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

抵扣说明:

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

余额充值