Spring可视化及自动化单元测试生成插件 testgen

GPL
Java
跨平台
2014-08-20
haojia

安装:把附件中的两个jar放到你的eclipse的plugins文件夹下重启eclipse就好了啦!

一、Spring的可视化操作

1、写好spring的bean后怎么运行呢?我猜你会有这两种办法:

  • 写个main函数,根据配置文件创建ClassPathXmlApplicationContext然后再获取bean,重重无聊操作后运行得出结果。

  • 写个单元测试,在初始化的时候配置好Spring的初始化环境,在写个单元测试函数来启动spring的bean?Oh my god!更复杂了!

2、如果你还在用以上两种办法来运行测试你的spring 的bean函数,那么你就太out了,本插件给你提供了全新的可视化Spring运行方式。

测试类:

public class MyTest {

public int testAdd(int a,int b){
    return a+b;
}

public int testDivide(int a,int b){
    return a/b;
}
}

测试配置文件applicationContext.xml:

<beans default-autowire="byName">
  <bean id="testA" class="com.test.MyTest"></bean>  
</beans>

要运行MyTest怎么操作呢?

(1)选中你要运行的函数,如testAdd,右键,在右键菜单中会有run in spring菜单,点下就好了。

图片1

(2)当然,你还要指定spring配置文件,点击”选择配置文件按钮“,选择你的spring配置文件,并点击 “启动Spring”,OK,大功告成,开始测试吧,我测:

图片3

我再测:

图片4

(3)debug模式自然是必不可少了!

8f6ca246934274acf3dd960a469127cc

(4)某些情况下存在大量的Spring配置文件需要汇总,或者无法提取配置文件的Web工程,你可以直接使用web.xml启动哦。

9501f0bf4be2046430b38de48f6cc78d

(5)对于阿里系用户,HSF的使用是非常普遍的,就像tomcat的HSF版,jetty的HSF版,本插件也继承了对HSF的支持,如果你的工程中使用了HSF,那么你需要选中HSF的选项就可以了!

292cb62580463237171869543f5e832f

二、生成单元测试

Spring可视化操作的时候我们已经知道了如何运行函数,其实你离生成单元测试只差一步,你要做的就是在计算结果后点击添加至单元测试按钮,那么系统会帮你记录下当前的入参出参信息到单元测试收集树中。

dffce1caefe4f3d6f28ad28420c70f8b

一个不够,要继续追加?那你就继续选择函数计算好了。

1f9b93bf4fac24ce16d7245d89468717

**觉得差不多了,开始生成单元测试吧:**
点击生成测试按钮,在弹出的页面上输入你要生成的测试类的名字:

17dff0c18cce474b51a1d9aa07221483

点击finish,你会看到鲜活的单元测试工程已经生成了,并且已经自动导入到你的eclipse中了

3d60c303101cab26330105014a0e49d5

三、生成单元测试-高级篇

1、复杂对象的手工输入

对函数的可视化操作并不能满足所有场景,需要对某些复杂对象或者接口类参数进行手工代码输入,右键点击参数:

22744bac18211f7570843f79e18440c9

输入初始化代码:

caee8df1a0176bbb5a71b13a76f2e83e

点击确定后,代码就展示到了参数树上,当然你也可以继续通过可视化的方式继续对参数进行编辑。双击即可:

293a527f6010804edbaba54cd766baee

2、数据的备份与还原

数据在一个项目中往往是必不可少的,而且也非常容易影响单元测试的结果,有时候可能因为某一条数据的改变而引起单元测试执行失败,这显然是不对的,因为单元测试是对逻辑的验证,应该独立于数据而存在,所以,我们期待单元测试在运行的时候应该尽可能的屏蔽因为数据变化而引起单元测试执行失败的情况。
使用插件的数据恢复功能的时候你需要尽可能的概括运行当前测试所涉及到的表的SQL,多个SQL使用;隔开,如:

cb6396cbc0f5a771580505e17d2daeab
那么,在生成单元测试的时候,插件会根据你输入的SQL查询对应的数据并以excel形式备份到单元测试下:

21e908fde2ded075b215324a4ac8c2c0

这样即使你在后面的过程中删掉所有数据,也不会影响你的测试效果,插件的执行流程:
(1)运行测试之前,备份数据库中现有相关数据。
(2)删除现有相关数据。
(3)恢复生成单元测试时候的备份数据。
(4)运行单元测试。
(5)删除插入的备份数据。
(6)将数据库中现有数据还原。
插件通过上面的机制既保证了单元测试的运行永远运行在正确的数据上,也不会影响现有数据本身。

四、页面的拦截抓取测试--待续


附件及源码地址:http://git.oschina.net/testgen/testgen/attach_files

如果有什么建议或意见,欢迎发送到haojia_007@163.com交流!

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

java 普通泛型、 通配符、 泛型接口

1、Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的 method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的...

2016/09/05 17:15
3
0
gogoprotobuf使用(下)

着重说明gogoprotobuf的一些选项

2015/03/14 19:21
2.4K
0
java 泛型

1 java 泛型 Java泛型由来的动机 理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作: 泛型的构成 由泛型的构成引出了一个类型变量的概念。根据J...

2012/07/23 10:41
79
0
java 泛型详解(普通泛型、 通配符、 泛型接口)

JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型. 1、Java泛型 其实Java的泛型就是创建一个用类型...

2013/09/30 11:14
3.1K
0
firebird database (快速入門)

參考文件(均可自firebird網站找到): Novice's Guide Migration from MS-SQL to firebird Firebord Release Notes 學習資料庫基礎是在sql的語法應用(請參考:firebird 網站的說明文件最好把這份...

2013/12/15 16:30
501
0
web安全相关网址

原文:http://www.owasp.org/index.php/Phoenix/Tools LiveCDs Monday, January 29, 2007 4:02 PM 828569600 AOC_Labrat-ALPHA-0010.iso - http://www.packetfocus.com/hackos/ DVL (Damn Vu...

2016/10/05 16:16
25
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部