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

Posted jzdwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之旅hibernate——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.       小结

  这是我抛出的一个引子。至于使用还是须要大家去实践,有兴趣的能够去看看~

 

以上是关于Java之旅hibernate——Junit不为人知的故事的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB + JUnit + Hibernate:java.sql.SQLException:无效的模式名称

Java之旅hibernate——第一个hibernate的样例

Java Hibernate LazyInitializationException 仅在仅使用 JUnit 运行时出现

深入探索 JUnit 4

用MyEclipse测试Hibernate的Junit方法测试总是重复执行的原因

Spring MVC 和 Hibernate 使用 Junit 测试 DAO 层和 Service 层的步骤