测试驱动开发笔记(二)—xUnit

1.  防止改完后引起新错误;再次运行单元测试

  2.. 如果单元测试涉及到可变信息(如当前时间),需要将待测试数据也变为可变,否则无法回归测试

  3. 使用测试驱动开发必须从头开始,严格进行,否则到半中间会很费事的。

  4. 测试驱动开发中,私有方法也要测试,可通过反射实现,如


Summer example = new Summer.newInstance();

Method m = example.getClass().getDeclaredMethod("methodone",new Class[]{String.class});

m.setAccessible(true);Object result = m.invoke(example ,new Object[] {“xxx”});

m.setAccessible(false);

if (result.equals(rightResult)){

  5.重构和修改,一次只带一顶帽子,要掌握自己的pace,不太快也不太慢

  6. 常用断言:相等,真,空,同一对象

  7.  Junit与ant结合,运行全部测试并将运行结果以文件形式输出

  JUnit中测试的组织


import junit.framework.TestCase;

public class CalculateUtilTest extends TestCase

{

public CalculateUtilTest(String name)    //1行

{

super(name);

}

}

1. import junit.framework.*;

2. public class MainTest

3. {

4.     public static Test suite()  //1行

5.     {

6.         TestSuite suite = new TestSuite();  //2行

7.

8.         //添加测试testDivision方法

9.         suite.addTest(new CalculateUtilTest("testDivision"));  //3行

10.

//添加测试类

suite.addTestSuite(CalculateUtil.class);

return suite;

14.     }

15.

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

17.     {

18.         //执行测试

19.         junit.textui.TestRunner.run(suite());   //4行

20.     }

21. }

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-20 18:00:39

测试驱动开发笔记(二)—xUnit的相关文章

在C和C++开发过程中应用测试驱动开发的理念

测试驱动开发和现在流行敏捷开发的是分不开的,测试驱动开发是敏捷开发的一个强有力工具,可以帮助我们从简单的设计开始,逐步地有保护重构设计直至完善设计过程.测试驱动开发是 Kent 提出的一种新的软件开发流程,现在已广为人知,这种开发方法依赖于极短重复的开发周期,面对开发需求,http://www.aliyun.com/zixun/aggregation/7155.html">开发人员要先开发代码测试用例,这些代码实现的测试用例定义了工程要实现的需求, 然后去开发代码快速测试通过这这些用例,这

C#学习笔记(二)

笔记 C#学习笔记(二) write by cash(天下第七)2002.01.20版权所有,翻录不究cashcao@msn.com 选择 我身上携带着精神.信仰.灵魂 思想.欲望.怪癖.邪念.狐臭它们寄生于我身体的家 我必须平等对待我的每一位客人-----------伊沙:<原则> 我的名字是cash,所以我很功利主义:我的星像是Leo,所以我很大男人主义:我的语言是C#,所以我有点儿拿不定主义. /* 你能看得出来,这不是一篇正规的技术文章,所以若你不小心从里边读到了一个爱情故事,可不要奇

用NUnit2.1简单实现.net的测试驱动开发(TDD)

用NUnit2.1简单实现.net的测试驱动开发(TDD)下面的例子很简单,就是实现两个整数的四则运算,TDD提倡测试优先,即先写测试用例,再写运行代码,刚下了个NUnit2.1,迫不及待的试了试--1最初的测试用例using System;using NUnit.Framework;namespace netshop{ /// <summary> /// 四则运算TestCls测试用例 /// Edit by spgoal /// </summary> [TestFixture]

网络相册开发(3)——测试驱动开发(TDD)

测试驱动开发的理论已经提出好多年了,在这里关于他的原理和优势我就不多说了,我将大略的写一下我在实际中运用TDD的过程. 补一个jar: commons-pool-1.4.jar 过程 1.搭建测试用例运行环境 2.编写接口类 3.针对接口类编写测试用例 4.实现接口类,编写对应的功能代码 5.运行测试 6.如不通过,修改直至通过 7.循环完成其他功能 搭建测试用例运行环境 spring采用的依赖注射技术带来的一个主要好处就是你的代码对容器的依赖性比传统的J2EE开发小得多.配合spring提供的

测试驱动开发实践之重构篇

前一篇文章 测试驱动开发实践-入门篇 我们我们讲了一些基本的测试驱动开发流程: 1.写单元测试使他亮红灯 2.写代码使测试变成绿灯 3.重构代码 接下来我们需要开始重构了,大家有可能会问,为什么需要重构,什么时候开始重构. 对与为什么需要重构,其实就是为了使代码结构清晰,去除一些重复的代码,比如我们执行sql语句操作,我们起初这样写 Code 1private connStr="server=.;database=TestDB;uid=sa;pwd=123" 2public int A

kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1289627 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装htt

Android测试驱动开发实践1

在正式进行Android测试驱动开发之前,不得不先提一下Android应用架构问题.在传统软件开发中,MVC架构得到了广泛的应用,然而在Android开发中,很少见应用采用了MVC架构(不要说Android及Widget全部采用的是MVC架构,那是系统的事,我们讲的是应用程序开发),究其原因可能是初期Android应用大多较为简单,没有采用的必要,而后期一直在沿用初期的习惯.但是遇到一些复杂的应用,例如同样的数据在多个Activity中显示,如果数据分散在多个Activity中,那么数据发生更新

《重构与模式(修订版)》—第1章1.4节测试驱动开发和持续重构

1.4 测试驱动开发和持续重构 重构与模式(修订版) 测试驱动开发[Beck, TDD]和持续重构,是极限编程诸多优秀实践中的两个,它们彻底改进了我开发软件的方式.我发现,这两个实践能够帮助我和公司降低过度设计和设计不足的几率,将时间用在按时地构造出高质量.功能丰富的代码上. 通过测试驱动开发(TDD)和持续重构,我们将编程变成一种对话1,从而高效地使可以工作的代码不断演变. 问:编写一个测试,向系统提问. 答:编写代码通过这个测试,回答这一提问. 提炼:通过合并概念.去芜存菁.消除歧义,提炼你

Android测试驱动开发实践2

在实际项目开发过程中,一般先实现核心功能,最后再做辅助性功能,这样可以尽快验证Idea的正确性,同时有助于让老板.投资人或客户看到可运行的产品,从而对产品充满信心,加大对项目的支持. 但是对于我们这个项目而言,我们首先需要得到一个Android应用MVC的架构体系,因此我们首先来实现一些典型功能,但是可以完整体现MVC架构的功能.在此我们选择任何应用程序在启动时都会显示的Splash页面,通常这个页面会显示一个应用图片,过30秒左右再显示程序的主界面,应用在这段时间完成数据加载等准备工作. 在这