【程序编程相关:Java中Exception的处理 】
【推荐阅读:JBuilder+JBoss+tomca】【扩展信息:关于cookie目录的总结(JSP和Se】
junit作为最著名的单元测试框架,由两位业界有名人士协力完成,已经经历了多次版本升级(了解aspx">junit基础.aspx">junit实践).junit总体来说短小而精悍,有不少值得我们借鉴的经验在里面;但是也有一些不足存在,当然这对于任何程序来说都是难免的.下面我们将从整体(宏观)与细节(微观)两方面来分析junit源码,以下分析基于3.8.1版.二.宏观——架构与模式打开源码文件,你会发现junit源码被分配到6个包中:junit.awtui.junit.swingui.junit.textui.junit.extensions.junit.framework.junit.runner.其中前三个包中包含了junit运行时的入口程序以及运行结果显示界面,它们对于junit使用者来说基本是透明的.junit.runner包中包含了支持单元测试运行的一些基础类以及自己的类加载器,它对于junit使用者来说是完全透明的.剩下的两个包是与使用junit进行单元测试紧密联系在一起的.其中junit.framework包含有编写一般junit单元测试类必须是用到的junit类;而junit.extensions则是对framework包在功能上的一些必要扩展以及为更多的功能扩展留下的接口.junit提倡单元测试的简单化与自动化.这就要求junit的使用要简单化,而且要很容易的实现自动化测试.整个junit的设计大概也是遵循这个前提吧.整个框架的骨干仅有三个类组成(下图所示). 如果你掌握了testcase.testsuite.basetestrunner的工作方式,那么你就可以随心所欲的编写测试代码了. 下面我们来看看junit.framework中类之间的关系,下图是我根据源代码分析出来的,大部分关系都表示了出来.
先来看看各个类的职责.assert类提供了junit使用的一整套的断言,这套断言都被testcase继承下来,assert也就变成了透明的.... 下一页