Java之旅hibernate(6)——Junit不为人知的故事

  说道Junit,我们首先不得不说测试的重要性,一个健壮的软件肯定是经过不断地的测试后才能最终被应用的,在测试的过程中可以发现很多不稳定性或者说是存在一定的bug等等,这些都可以在测试阶段发现,而不会被推到被用户真正的使用的时候,避免了不良好的用户体验。

 当我们看java源程序的时候,总是会看到这样的一个文件夹,名字为test,好奇的你是否点开过呢?

 没错,这里就是我们书写的测试程序,使得在团队开发过程中,彼此的交互更加的可靠和稳定。

 那么Junti具体是什么呢?

 1.       Junit

  要想在Junit中使用,首先必须引入Junit包,网上下载一个JUnit包,后缀名为 jar . 打开eclipse  ,新建项目,项目建好后在项目名称上单击鼠标右键,选择build path-->Config build path ,在properties for....窗口中左边选择Java Build Path 右边选择Libraries,再点击Add External Jars 。找到你下载的那个JUnit包,点击打开,然后点击OK,就行了。

  Ø  建立测试的文件夹,建立的文件夹是“Source Folder”类型的

  Ø  新建一个类,用于测试“UserManager”

  Ø  创建测试程序(Junit是使用预期值和实际值的对比)

  Ø  结果

 

  这是大致的一个例子,具体的大家上网收集资料。

 2.       不为人知——组合模式

  前一阵子,我们开展了设计模式演讲大赛,很荣幸的我被选为组长,我们组负责的是组合模式,看到这个模式之后,自己首先是联系了生活,看看生活中存在哪些例子。

  组合模式图:

  Ø  组合模式生活篇

 我们每个家庭都是有家谱的,那么家谱就是一个组合模式,怎么说呢?

  对照上面的组合模式图:最上面是爸爸,爸爸和妈妈结婚后就有了一个女儿和儿子,而女儿是无法传宗接代的,但是儿子可以,儿子下面又是可以分的,整个组合成一个家族。

  此外像窗外的树木,存在主干和枝干以及树叶等等,还有我们操作系统中的文件和文件夹等等,这些都是我们生活中的常见了,这里不再说了。

  Ø  组合模式精彩篇

  无意看到一些资料,发现我们常用的单元测试“Junit”竟然是一种模式,犹如哥伦布发现新大陆一样,我的心里无比的欣喜。现在让我们一层层的揭开这神秘的面纱吧。

  在我们书写测试程序的时候,我们经常书写这样的话:

public class test extends TestCase {

 

}

 

  其实TestCase并不是一个单独存在的,它其实是实现了某一个接口的,这个接口就是Test,此外除了TestCase外,我们还有一个测试的类就是TestSuite,它其实是囊括了TestCase的一个集合,这样三者的关系就出来了,我们看看吧。

   TestCase

  定义:abstract class TestCase extends Assert implements Test 继承了Assert类并且实现了Test接口。而且是个抽象类。

   TestSuite

  定义:class TestSuite implements Test;  Test接口的实现类,和TestCase一样. 但是TestSuite是一系列testcase的集合,将所有要运行的testcase add到TestSuite。

     如果说前面的一个是单个的测试的话,而后面的那个是一个组合的测试,组合测试不仅仅可以添加一个测试类中的多个测试方法,而且可以添加多个测试类。这么一说是不是特别像组合模式啊?

      参照上面的组合模式图,画出我们的图形是

      我们学习组合模式的时候,其实Junit与树节点的那个图是很相似的,TestCase相当于叶子节点,它的下面是不能再次进行添加的,而TestSuite不一样,它是一个枝干的节点,它的下面是可以再次进行添加的,与我们学习过的《大话设计模式》上的一样,TestSuite不仅仅是可以添加TestCase,也是可以添加TestSuite,因为其增加一个对象的时候,其实是相当于增加了一个Test。

 3.       小结

  这是我抛出的一个引子,至于使用还是需要大家去实践,有兴趣的可以去看看~

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值