《Junit In Action》学习笔记(一)

原创 2005年02月25日 19:07:00
《Junit In Action》是Minning公司《Java人的工具箱》系列丛书之一,其封面设计选自1799年初版于西班牙马德里的一本各地服装简编书。Minning想通过书中生动多样、颜色鲜明的图画表达当前个人生活的多姿多彩,以“换取更多彩也更有趣的精神与文明”。“更多彩也更有趣”——正是我阅读此书的感受。《Junit In Action》对于测试理论和Junit的描述深入浅出,作者的语气非常温和,感觉象面对面聊天那样的亲切,让人有一种持续阅读的欲望。作者想说的是:测试其实非常简单,请愉快地测试吧!

其实,在学习Junit之前,我已经在编写代码的过程中不自觉的实现了最基本的测试方式——源程序+良好的异常处理机制+以Demo形式出现的大大小小的测试程序。通常,在测试程序中,会针对各个函数设计一些小场景,给一个输入,然后查看输出;如果抛错,利用良好的异常处理机制可以比较迅速的定位错误。相信有很多人在学会单元测试之前,也走过这个过程。

这可是一个耗时长、代码冗余量大的过程——简言之,a stupid process !

《Junit In Action》的第一章介绍的测试demo基于命令行方式(javac与java命令)实现。我个人认为对于团队开发而言,没什么意义——一个成熟而实用的IDE能带来比“命令行+文本编辑器”更高的效率和“更多彩也更有趣”的编程体验。程序员应当将精力集中于代码本身,而不是开发工具。因此,第一章里看看几个demo代码就可以了。不过,可不要忽视那些印象中比较枯燥的文字——它们从一个完全不懂测试的程序员的角度阐明了“why test”的问题。哦,亲切的文字。

第二章里的图简单明了。记住图就记住了Junit的结构,也很容易推出它的使用方式——几个以test***方式命名的方法构成一个TestCase(实际上就是一个extends了junit.framework.TestCase类的子类),几个TestCase构成一个TestSuite,一个或多个TestSuite由TestRunner运行。Junit提供几个默认的test runner,如果没有自定义的test suite,test runner会为整个测试生成一个test suite。test suite可以嵌套。

典型代码:
public class Tester extends TestCase {
    public void test***() {...}
}
//自定义test suite<懒人们还是用Junit的自动test suite比较好>
public class TestAll {
    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTest(new Tester(“test***“));
        return suite;
    }
    //或者
    public static Test suite() {
        return new TestSuite(Tester.class);
    }
}

相关文章推荐

junit in action 学习笔记

  阅读指引:第一部分:Junit精粹                第1章:带着你为一个简单的对象创建测试。在此过程中介绍了单元测试的好处,理念,和方法。                随着测试...
  • danny15
  • danny15
  • 2011年01月12日 15:44
  • 459

Spring in action学习笔记

  • 2007年07月25日 09:53
  • 1.14MB
  • 下载

《JQuery in Action》学习笔记

  • 2011年04月27日 20:41
  • 4.96MB
  • 下载

jmx in action 学习笔记(2)

这里简单用jmx实现下agent对mbean的管理,以及notification的使用。 5个主要类: SystemTimeAgent: 对资源进行管理的agent。它通过接入HtmlAdapto...
  • UltraNi
  • UltraNi
  • 2012年07月31日 23:53
  • 924

Cordova in action学习笔记二:My First Project

概述 第一个项目总是最激动,我们接着笔记一的内容,深入了解下cordova项目结构 1  典型Cordova项目开发流程见下图          2 Cordova项目文件框架分析     一个新的...
  • imfzp
  • imfzp
  • 2016年09月08日 17:08
  • 549

Liferay in action 学习笔记(一)

用户组——Page Templates (由门户管理员配置,对用户私人社区很有用) *门户管理员可以通过用户组的Page TempLates定义用户可用的portlets。...

java8 in action 学习笔记 一

为什么学习Java8 ## java8 的变化 ## 流处理 -Java8 在java.util.stream中添加了一个Stram API; Stream 就是一系列T类型的项目。可以看做是一种...

【Netty in Action学习笔记】Netty核心组件概念

转载出处:http://ifeve.com/netty-in-action-1/ 该系列是学习并发编程网上的《Netty in Action》中文版 的学习笔记。 Netty的核心组件...

Spring in Action(第四章 面向切面编程)学习笔记

1.在软件开发中,分布于应用中多处的功能被称为横切关注点。这些横切关注点从概念上是与应用的 业务逻辑相分离的,将这些横切关注点与业务逻辑相分离正式面向切面编程(AOP)所解决的。依赖注入 有助于应...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Junit In Action》学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)