测试驱动开发(tdd)学习笔记 (2) 工具,技术 junit

Java 测试驱动开发TDD):让你的代码更健壮 TDD 是一种科学、高效的开发方法,不仅能帮助你写出更健壮的代码,还能减少 Bug 和返工。当然,TDD 不是万能的,它更适合逻辑性强、需求清晰的模块开发。所以,别只埋头写代码,尝试用 TDD 先写测试,用一种“未雨绸缪”的心态开发项目,你会发现它的妙处。现在,试试 TDD 吧! 阅读详情

java 下面最常用的是junit (http://www.junit.org/),

基本用法是

1、import junit 包

2、定义一个测试类,最好以test开头,以方便ide自动搜索测试,测试类继承自TestCase,然后在里面写自己的test 方法,测试代码主要是运行类的各种方法,并用assert判断是否与预期相同。核心的assert 方法有

assertTrue ,assertFalse,assertNull,assertNotNull,assertSame,assertNotSame,assertEquals,还有一个fail直接写fail(),就会提示测试失败。

   public class testMath  extends TestCase{

         public void testSum(){

              assertEquals("3加2应该等于5",5,math1.sum(3,2));

         }

}

3、如果测试类里面的每个测试都需要初始化某些资源,那么可以把初始化的代码放到测试类的初始化方法(setUp)里面,并在类的拆卸(tearDown)方法里面作善后工作。例如,在作数据库测试的时候,可以在(setUp)方法里面备份当前数据库,并把当前数据库里面的数据恢复为测试数据,并在(tearDown)方法里面将数据库恢复为当前数据。junit 会为每个测试方法运行一次(setUp)和(tearDown),以保证各个测试方法之间互不影响。

   public class testMath  extends TestCase{

        public void setUp(){

           初始化代码;

       }

       public void tearDown(){

          善后代码;

       }

        public void test1(){

              .......(测试代码1)

         }

       

        public void test2(){

              .......(测试代码2)

         }

       

        public void test3(){

              .......(测试代码3)

         }

}

在这个例子里面,(setUp)和(tearDown)会被执行三次。

关于testCase 的管理

       多个testCase可以被添加到一个testSuite里面,多个testSuite也可以被加到一个testSuite里面。

public class TestMySuit extends TestSuite{

     public TestMySuit(){

        super();

     }

     public static Test suite(){

           TestSuite suite = new TestSuite();

           suite.addTestSuite(myTest1.class);

            suite.addTestSuite(myTest2.class);

             return suite;

}

关于junit自己的扩展

1、ActiveTestSuite

     在 这个suite里面的每个测试会在独立的线程里面运行,有几个测试,就有几个线程。

2、ExceptionTestCase 作者不建议用这个,既然不建议用,我就没看了

3、testDecorator

    顾名思意,这个是对test进装饰的类,抄个书上的例子

  public class InstrumentedTest Extends TestDecorator{

       public instrumentedTest(Test arg0){

            super(arg0);

      }

       public void run(TestResult result){

            System.out.println("Starting "+ fTest.toString());

             basicRun(result);

       }

}

public class InstrumentedTest Tester extends TestCase{

     public void testMethod(){

     //...

     }

     public static Test suite(){

          TestSuite suite = new TestSuite();

          Test test = new InstrumentedTest Tester("testMethod");

          suite.addTest(new instrumentedTest(test));

           return suite;

         }

        public static.void main(String args[]){

             junit.textui.TestRunner.run(suite());

        }

}

4、RepeatedTest

public class RepeatedTest   Tester Extends TestCase{

    public void testMethod(){

    }

     public static void main(String args[]){

      Test test = new RepeatedTest Tester("testMethod");

       junit.textui.TestRunner.run(new RepeatedTest(test,10));

     }

}

5、TestSetup 这个和testCase 的setUp和tearDown类似,不过是用于testSuite。

Java测试驱动开发TDD)实践指南 TDD中,开发者首先编写一个失败的测试用例,然后编写足够的代码来满足测试用例的要求,最后进行重构以提高代码质量。而测试驱动开发TDD)是一种被广泛应用的开发方法论,它强调在编写代码之前先编写测试用例,并通过测试用例来驱动代码的开发。在实践TDD时,我们需要选择合适的测试框架,编写测试用例,运行测试用例,编写足够的代码,并进行代码的重构。在编写完测试用例后,我们需要运行测试用例来验证代码的正确性。运行测试用例后,我们可以看到测试结果的输出,如果测试通过,则会显示绿色的通过标志,否则会显示红色的失败标志。 阅读详情

相关推荐

使用Intellij来实践测试驱动开发 TDD Kata

文章目录使用Intellij来练习测试驱动开发 TDD Kata前言创建Java Maven项目TheBowlingGame KataThe RequirementsStep1: 创建项目Step2: 新建测试类Step3: 编写第1个测试方法Step4: 运行测试Step5: 修复编译错误Step6: 再次运行测试Step7: 继续修改测试方法Step8: 修复编译错误Step9: 编写第2测试方法Step10: 修复测试失败Step11: 重构测试类Step12: 继续重构测试类Step12: 编写第

锐意工作室 1413

敏捷开发实践 —— 测试驱动开发TDD

(Test Driven Development, 简称TDD)是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。阅读、理解和处理功能或错误请求。

nhb687095的博客 1115

Java JUnit 测试TDD

JUnit 什么是 JUnitJUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试工具。 简单的说就是用来进行测试的,判断方法结果执行是否正确,是用来简化替代测试。...

cong____cong的博客 615

测试驱动开发TDD)实践与技巧

引言 测试驱动开发,英文全称 Test-Driven Development,简称 TDD,是一种不同于传统软件开发流程的开发方法。 在《程序员的职业素养》第五章,我第一次看到有关 TDD 内容,当时Bob大叔向我展示了一种不可思议的编程开发方法,这种方法颠覆了我的认知。Bob 大叔列举了 TDD 很多好处,例如确定性、降低代码缺陷、方便代码重构、测试单元文档化,更优秀的代码设计等等。并强力安利读者们尝试 TDD,因为 TDD 是专业人士的选择。 在 Bob 大叔的洗脑下,我决定去尝试学习如何使用 TDD

记录学习的过程 1万+

测试驱动开发(TDD)学习分享-上篇

测试驱动开发(TDD)是一种增量式软件开发技术。简单地说,就是在没有失败的单元测试的前提下不可以写产品代码。这些测试要很小,而且要自动化。用测试驱动其实很合理。相对于直接写产品代码,TDD的实践者们会先用测试来表达他们希望产品代码会有什么样的行为。然后这个测试显然会失败。只有在这时,他们才开始写产品代码;以便让测试通过。在测试驱动开发LightScheduler时,测试夹具通过截获对TimeServeice和LightController的调用来校验LightScheduler的行为是否正确。

u010467490的博客 3247

TDD】深度解读 - TDD测试驱动开发

有广义和狭义之分,常说的是狭义的 TDD,也就是 UTDD(广义的 TDD 是ATDD),包括BDD)和等。本文所说的 TDD 指狭义上的 TDD,也就是「TDD是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,。。

qq_43331089的博客 2万+

测试驱动开发TDD)方法详解

在软件开发过程中,质量和效率始终是开发团队追求的目标。传统的开发方法常常先编写代码,再进行测试,这种方式在发现问题时常常为时已晚。为了更早地发现和解决问题,测试驱动开发(Test-Driven Development,简称TDD)应运而生。TDD是一种强调测试先行的开发方法,它不仅可以提高代码质量,还能提高开发效率。本文将详细介绍TDD的定义、开发流程、常用工具和框架,并探讨其在实际项目中的应用。

cooldream2009的博客 3572

TDD测试驱动开发

TDD测试驱动开发什么是测试驱动开发测试驱动开发该怎么做?需求一:输入一个非元音字符,并预期返回字符本身 (输入"h" 返回“h”)需求二:输入一个元音(a,e,i,o,u),返回 mommy (输入"a" 返回“mommy”)需求三:加入新的业务逻辑(元音字符超过字符串的 30% ,被特定字符串替换)运行结果变红需求四:加入新的业务逻辑(连续元音的字符串,并预期只被替换一次)运行结果变红完整代码 什么是测试驱动开发 测试驱动开发(Test-Driven Development),是敏捷开发中的一项核心实

qq_45661125的博客 3945

Java测试驱动开发TDD

Java测试驱动开发TDD)一、基础知识1.什么是TDD1.1怎么开始TDD 一、基础知识 1.什么是TDD TDD要求你先编写测试,再编码实现代码。 1.1怎么开始TDD 编写测试代码 运行测试代码 编写实现代码 运行测试代码 重构 运行测试代码 第一步,编写测试代码,然后运行测试代码,由于实现代码没有编写,所示测试执行一定是不通过的,如果通过了,那么就是有问题的就要找到问题。测试不通过才...

qq122516902的博客 2494

深入探索Java中的测试驱动开发-JUnit与Mockito实战指南

测试驱动开发TDD)是一种开发方法,其中开发人员首先编写单元测试,然后编写足够的代码使测试通过,最后进行重构。编写测试:在编写实现代码之前,先编写单元测试。编写代码:编写足够的代码使测试通过。重构:在确保测试通过后,进行代码重构,使代码更加简洁和可维护。红:编写一个测试,运行它,发现它失败。绿:编写最简单的代码使测试通过。重构:对代码进行重构,确保代码质量没有降低,并且测试依然通过。测试驱动开发TDD)是一种提高代码质量、确保代码稳定性和可维护性的有效开发方法。

一键难忘的博客 3798

Junit 测试驱动开发TDD)的实践,具体是什么

Junit 测试驱动开发TDD)的实践,具体是什么

weixin_45428910的博客 1091

JUnit实战3_32】第二十章:用 JUnit 5 进行测试驱动开发TDD)(上)——将非 TDD 项目改造为 TDD 项目

本篇为《JUnit in Action》全新第 3 版第 20 章自学笔记的上篇,主要介绍了 JUnit 5 在测试驱动开发中的具体应用、TDD 的核心概念、以及演示项目的环境搭建等。本章也是全书最后一个板块的第一章,实用性极强,非常适合测试新手对 TDD 建立正确的认知。感兴趣的朋友可以收藏,跟着笔记的节点在本地实操,收获更大。

PeacefulWinter的博客 1569

TDD 测试驱动开发工具、框架、快捷键和测试覆盖率

TDD 测试驱动开发工具与框架 参考文档 TDD 测试驱动开发工具与框架 根据 《Java测试驱动开发》(Viktor Farcic, Alex Garcia)一书整理了TDD 测试驱动开发工具和框架: 在同类工具不止一个时,“点赞”图标表示该书作者推荐的工具。 该书提供了一些非常有参考价值的repository: Vagrant repo: https://...

锐意工作室 1647

测试驱动开发(TDD)实战体验

在上一篇文章中写了关于TDD的理论,感兴趣的小伙伴可以去阅读一下。今天这篇文章以一个简单的例子来体验一下TDD的过程。 环境 Java 8 Junit 5 需求 我们有这样子的一个需求:客户需要一个长方形,能够给长方形设置宽和高,并且能够计算面积 1.编写测试用例 此时的Rectangle类如下 class Rectangle { private double width; ...

程铭程铭你快成名的博客 5062

如何进行软件测试测试驱动开发TDD)?

软件测试是一种评估系统的过程,目的是发现潜在的错误或缺陷。通过对软件进行测试开发者和测试人员可以确定软件是否符合预期的需求、功能是否正常运行,以及系统是否足够稳定和可靠。测试驱动开发TDD)是一种软件开发方法,它强调在编写实际代码之前编写测试用例。编写测试用例:首先,开发者编写一个或多个测试用例,这些测试用例描述了代码应该具备的某些功能。运行测试:运行测试用例,此时测试用例应该会因为系统尚未实现相关功能而失败。编写代码:编写足够的代码,使得测试用例能够通过。运行测试

weixin_68551689的博客 819

TDD(测试驱动开发)演示案例:SpringBoot+Junit4+myBatis

简介 通过一个小型的电商系统,来演示TDD开发过程 TDD开发流程   技术环境 IDEA SpringBoot 2.1.1.RELEASE Junit4.12 myBatis 案例源码 https://gitee.com/sujianfeng/lab-tdd 功能需求 用户模块 用户信息:用户名、密码、年龄、累计充值金额、累计使用金额、当前余额、消费积分 模块功能...

xmpilot的专栏 3480

测试驱动开发TDD)实战:基于Java的Kent Beck方法完整实践

JUnit 5 最强大的特性之一是,取代了旧版的 Runner 和 Rule 机制。开发者可通过实现接口定制测试行为。示例:实现一个计时扩展@Override@Override然后在测试类上启用:此机制可用于实现日志记录、性能监控、重试逻辑等通用横切关注点。

weixin_35636570的博客 1007

Java中的测试驱动开发TDD)实践

TDD是一种软件开发过程,它强调先编写测试用例,然后再编写实现代码,以确保代码质量和功能正确性。测试驱动开发TDD)是一种有效的开发方法,通过先编写测试用例,再编写实现代码,最后进行重构,确保代码的高质量和正确性。尽管TDD需要一定的学习和实践,但它能够显著提高代码质量、设计能力和开发效率,为长期项目的维护和扩展提供坚实的基础。TDD的核心思想是先编写测试代码,然后编写能够通过测试的功能代码,最后进行重构,以确保代码的可维护性和质量。在测试用例失败后,编写最简单的实现代码,使得测试用例能够通过。

微赚淘客系统开发者博客 952
上一篇: 测试驱动开发(tdd) 学习笔记(1)基本思想原则和术语
下一篇: 不要对没有工作经验的人抱什么希望
bfox
博客等级 码龄25年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值