文档章节

java特训第二课

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:39
字数 715
阅读 5
收藏 0

测试驱动开发是什么

   测试驱动是一种开发形式:
   1.编写测试代码
   2.除非存在相关测试,否则不编写任何的产品代码
   3.由测试来决定要编写什么样的代码
   4.要求维护一套详尽的测试集

测试驱动开发所应该达到的目标

   clean code that work
   测试驱动开发就是为了让代码整洁可用,其实现的规则如下:
   1.只有测试失败时我们才去修改代码
   2.消除重复设计,优化设计结构
   测试驱动开发的优点
   1.能够保证编写测试用例
   2.使得程序员获得满足感,从而始终如一的编写测试代码
   3.有助于澄清接口和行为的细节
   4.可证明、可再现、自动的验证
   5.改变事物的信息

测试驱动开发是一种开发风格

   应该做到如下要求:
   1.在写产品代码之前,应该先写它的单元测试
   2.没有单元测试的class不允许作为产品代码
   3.单元测试例子决定了如何写产品代码
   4.不断的成功运行所有的单元测试例子
   5.不断的完善单元测试的例子

怎样做

   1.再开发一个新的功能之前首先确定你要做什么(不是要如何做!!)
   比如说一个论坛的增加用户的功能,我们需要又一个method来增加一个用户:public void addAccount( Account account )当然包括成功增加一个用户(在数据库中插入一条纪录)还包括如果已经由一个相同的用户,应该返回一个用户已存在的消息OK,我们知道这个method中的这段代码要做什么,而且这段代码也足够简单。
   2.然后为这个功能(Method)写单元测试例子( Unit Test )单元测试例子要覆盖这个Method的 “做什么”。所以我们至少有了两个测试例子:
   Test Case 1: 测试成功增加一个用户
   Test Case 2: 测试增加一个已存在的用户其他边缘情况测试:
   Test Case 3: 传入的Account对象为NULL
   3.写Production代码
   4.运行单元测试,假如没有通过继续修改Production代码,直到通过为止。

© 著作权归作者所有

共有 人打赏支持
旺仔没馒头
粉丝 2
博文 17
码字总数 12986
作品 0
济南
程序员
Java研发大学毕业后为何找不到理想的工作

现在大学生在大学学习Java技术,毕业后直接工作,我想在大家心里这只是再平常不过的事情了,可是为啥刚一毕业的Java应聘工程师会遭到各个研发企业的拒绝,这是刚毕业的每个大学生心中的疑虑,...

我爱编程学习
06/07
0
0
成都大数据开发学习路线是什么?大数据开发学习难不难?

现在想学习大数据开发课程的朋友越来越多,当然其中有很多都是零基础,对编程语言也不是很了解。那么零基础能不能学习大数据开发呢?答案是肯定的。当然想要通过自学基本上是不可能的,不过可...

加米谷大数据
07/30
0
0
几周内搞定Java的10个方法

不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”)。简单来说,就是Java程序可以直接在任何设备上运行。 Java语言是什么? 不管我们是否意识到...

拉偶有所依
2015/03/11
0
0
2018年暑假第一周周总结报告

一眨眼,暑假第一周过去了。这一周大部分时间都是在学校度过的。在7月14日之前,我在学校宿舍待着,便开始刷我的网络课程。虽然这些课看上去不是太重要,但从中也学到了不少知识。 周一,我对...

寂天风
07/15
0
0
学java还是javascript好?哪个更有前途?

  对于哪种语言好这种问题,其实并没有固定的答案,最重要的还是 兴趣!兴趣!兴趣!重要的事情说三遍。无论做什么开发,永远要以兴趣来驱动自己学习。 先大致的说一下,Java学习是一个需要...

W3Cschool小编
04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python装饰器执行顺序

上来先看代码: import timedef deco(func): def wrapper(): startTime = time.time() print "start" func() print "end" endTime =......

fang_faye
11分钟前
1
0
java常用设计模式

一、创建型 1、工厂方法(Factory Method) a、普通工厂:根据不同参数返回创建的不同对象。 b、工厂方法:根据不同方法返回创建的不同对象。 c、静态工厂:将方法改为static类型。 场景:S...

狠一点
13分钟前
1
0
python:获取文件最后N行

#获取文件最后N行的函数 def tail(inputfile) : filesize = os.path.getsize(inputfile) blocksize = 1024 dat_file = open(inputfile, 'r') last_line = "" if filesize > blocksize : maxs......

perofu
20分钟前
2
0
JavaScript(四):注释

认识 注释的作用 是提高代码的可读性,帮助自己和别人阅读和理解你所编写的JavaScript代码,注释的内容不会在网页中显示。 注释可分为 单行注释与 多行注释 两种。 我们为了方便阅读,注释内...

Agnes2017
26分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部