JUnit三分钟教程 ---- 实际应用
摘自http://lavasoft.blog.51cto.com/62575/65775
 
接上文“JUnit三分钟教程 ---- 快速起步”,续写一篇,以便能真正将JUnit用到项目的测试中。
 
进行测试确不清理垃圾数据就像随地大小便一样让人无法忍受!
 
测试是应该进行,如果测试过程中给数据库中写入了垃圾数据怎么办,不用担心,JUnit的设计者早已考虑到了这个问题,下面看如何控制“测试垃圾”的回收。
 
结合Eclipse,这个实现非常的简单,80%的代码是Eclipse生成的,呵呵。
 
一、测试目标
 
private int a,b;
  
  
    public Calc() {

    }

    public int add() {
  return a + b;
    }

    public int getA() {
  return a;
    }

    public void setA(int a) {
  this.a = a;
    }

    public int getB() {
  return b;
    }

    public void setB(int b) {
  this.b = b;
    }
  
}
 
二、写测试用例
测试用例中的setup()方法会在测试逻辑最先调用。就相当于做初始化工作。
 
测试用例中的tearDown() 方法在测试逻辑之后调用。充当一个清理战场的角色,以清楚测试过程中对现场的状态的破坏。
 
 
public class CalcTest1 extends TestCase {
    Calc c=new Calc();

    protected void setUp() throws Exception {
  c.setA(2);
  c.setB(1);
  
    }

    protected void tearDown() throws Exception {
  c=null;
    }

    public void testAdd() {
  int result=c.add();  
  assertEquals(3,result,0);
//  fail("尚未实现"); // TODO
    }

}
 
public class CalcTest2 extends TestCase {
    Calc c=new Calc();

    protected void setUp() throws Exception {
  c.setA(2);
  c.setB(1);
  
    }

    protected void tearDown() throws Exception {
  c=null;
    }

    public void testAdd() {
  int result=c.add();  
  assertEquals(3,result,0);
//  fail("尚未实现"); // TODO
    }

}
 
本例中没有测试垃圾,因此tearDown() 实际上可以不用写。
 
三、生成测试单元
 
import junit.framework.TestSuite;

public class AllTests {

    public static Test suite() {
  TestSuite suite = new TestSuite("Test for default package");
  //$JUnit-BEGIN$
  suite.addTestSuite(CalcTest1.class);
  suite.addTestSuite(CalcTest2.class);
  //$JUnit-END$
  return suite;
    }

}
 
 
四、在Eclipse中执行单元测试
 
~~~周末愉快!!

JUnit三分钟教程 ---- 实际应用的更多相关文章

  1. JUnit三分钟教程 ---- 快速起步

    JUnit三分钟教程 ---- 快速起步 摘自http://lavasoft.blog.51cto.com/62575/65625/ JUnit是个好东西,做大点的项目离不开这东西,实际中用的时候也因 ...

  2. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

    [项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...

  3. Powershell极速教程-如何在三分钟内编写项目编译脚本

    分析及思路 来看一下项目目录结构 炒鸡正常的三板斧src+docs+tests.咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录.今天我会带着大家在五分钟之内编写一个极简的编译脚本. ...

  4. [转载]GDB十分钟教程

    转自:http://blog.csdn.net/liigo/article/details/582231/ GDB十分钟教程 作者: liigo原文链接: http://blog.csdn.net/l ...

  5. GDB十几分钟教程

    GDB十分钟教程 作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日 本文写给 ...

  6. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

  7. Org-mode五分钟教程ZZZ

    Table of Contents 1 源起 2 简介 2.1 获取 org-mode 2.2 安装 3 基础用法 3.1 创建一个新文件 3.2 简单的任务列表 3.3 使用标题组织一篇文章 3.4 ...

  8. x01.TextProc: 两三分钟完成的一个小工具

    在工作中,遇到这么个问题,需要将 Excel 表中类似 2134-1234-4456 的商品编号输入到单位的程序中,而程序只认 213412344456 这种没有 ‘-’ 的输入.数量比较多,一笔一笔 ...

  9. unity3d 三分钟实现简单的赛车漂移

    提到赛车游戏,大家最关心的应该就是漂移吧?! 从学unity开始,我就一直在断断续续的研究赛车 因为自己技术太烂.悟性太差等原因,我走了不少弯路 也许你会说,网上那么多资料,你不会查啊 是啊!网上一搜 ...

随机推荐

  1. javaDay1 基础知识

    常用dos命令 •d: 回车  盘符切换 •dir(directory):列出当前目录下的文件以及文件夹 •md (make directory) : 创建目录 •rd (remove directo ...

  2. Android Studio:Unable to add window android.view.ViewRootImpl$W@5e2d85a -- permission denied for this window 第一行代码

    学习<第一行代码>的时候,出现的错误. java.lang.RuntimeException: Unable to start receiver com.example.sevenun.l ...

  3. JSON 基本语法

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  4. php 实现购物车

    <?php class Cart{     public function Cart() {         if(!isset($_SESSION['cart'])){             ...

  5. C-冒泡排序,选择排序,数组

    ——构造类型 ->数组      ->一维数组      ->相同类型的一组数据      ->类型修饰符--数组名—[数组的元素个数(必须是整型表达式或者是整型常量,不能是变 ...

  6. F5(调试)和服务器控件

    一.调试 背景: 今天调试的时候发现我进入的网址是http://×××.com:7813/webaspx/System/Login.aspx(由于代码在公司,我就没有截图,等了半天显示无法加载该页面) ...

  7. ajax例子

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  8. c#转码解码

    ///反转码                          mdata[k].MNAME = unescape(mdata[k].MNAME);程家楠 13:51:00 Microsoft.JSc ...

  9. C++智能指针初学小结

    本篇随笔仅作为个人学习<C++ Primer>智能指针一节后的部分小结,抄书严重,伴随个人理解.主要介绍shared_ptr.make_shared.weak_ptr的用法和联系. C++ ...

  10. [翻译] C++ STL容器参考手册 (总册)

    1. 写在最前面 这将是博主的第一篇技术博客,思考再三决定从翻译开始.这将是一个系列的博客,由不同的章节组成,章节之间由超链接联系,开发过程将使用增量式开发,每次完成一个章节.本篇是本系列的总册,提供 ...