KOK球盘体育
当前位置: KOK球盘体育 > 单元作文 >

如何编写单元测试-基于Spring

时间:2020-03-10 22:29来源:未知 作者:admin 点击:
KOK球盘体育

当前网址:http://www.wassei.com/danyuanzuowen/2020/0310/778.html

  首先单元测试真的算是一种“脏活累活”,但是我个人感觉还是有必要,至少本人最近开始写单元测试后还是能发现一些“bug”的。

  单元测试的要求...网上很多。下面来分享一下我是如何写单元测试。首先我们项目一般都是MVC分层的,而单元测试主要是在Dao层和Service层上进行编写。从项目结构上来说,Service层是依赖Dao层的,但是从单元测试角度,对某个Service进行单元的时候,他所有依赖的类都应该进行Mock。而Dao层单元测试就比较简单了(下面Dao层就以Jdbc为例子),只依赖数据库中的数据。

  dao层单元测试肯定要是连数据库的,但是不需要本地起一个Mysql,可以使用H2内存数据库来做单测就足够了。

  首先给一个通用模板吧,就是所有DAO层单元测试都会用到的,注:ORM使用Mybatis

  其中的一些需要稍微修改的,我使用“XXX”或者“xxx”,如果配过Spring的肯定知道怎么弄。其中init_table.sql就是用来创建数据库表的,就不列出来的,下面需要注意的地方:

  说实话,Service层的单测是最麻烦的,特别是那种超级大方法。Service层的单元测试就是主要Mock其他依赖Bean来完成各种逻辑的判断。

  通用模板在上面,当然,遇到恶心的类,Mock十几个Bean也是有可能的。 下面就开始开心的写单元测试的了,例如

  当然,这仅仅是一种情况,还有各种情况需要您进行测试,good luck!

  我也是最近才开始写单元测试的,虽然很无脑,但是我个人还是觉得有必要的,一些很低级的错误至少能找出来(如果你稍微认真的写,而不是敷衍)。这样总比在Code Review的时候被指出来要好很多吧。而且写单元测试也算是一种休息吧!

------分隔线----------------------------