一种基于Junit的单元测试方法及装置制造方法及图纸

技术编号:10965387 阅读:156 留言:0更新日期:2015-01-28 17:39
本申请公开了一种基于Junit的单元测试方法及装置,其中,方法为:利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类,在针对每一个目标单元测试类进行执行时,先判断是否存在Spring容器,若没有,则创建一个包括每一个目标单元测试类执行时所必须的Javabean注册信息的Spring容器。该Spring容器由于包括每一个目标单元测试类执行时所必须的Javabean注册信息,因此在执行每一个目标单元测试类时,无需重复建立Spring容器,也即不需要重复初始化Spring容器,大大提高了批量测试执行效率。

【技术实现步骤摘要】
一种基于Junit的单元测试方法及装置
本申请涉软件处理
,更具体地说,涉及一种基于Junit的单元测试方法及装置。
技术介绍
单元测试是指对软件中的最小可测试单元进行检查和验证。一般现有技术使用Junit测试框架来进行测试。Junit是一套框架,继承一个测试用例就可以进行自动测试。多个测试用例组成一组测试用例,一组测试用例需要共同的测试运行环境才能够执行。一般情况下,集成测试需要启动Spring容器。Spring容器需要包括待执行单元测试类中测试方法所需的JavaBean的注册。但是,不同单元测试类的测试方法所需的JavaBean的注册不同,现有技术在执行一组单元测试类时,针对每一个单元测试类都要创建并销毁一次Spring容器,也即需要重复初始化Spring容器,从而严重影响批量测试执行效率。
技术实现思路
有鉴于此,本申请提供了一种基于Junit的单元测试方法及装置,用于解决现有技术执行一组单元测试类时,针对每一个单元测试类均需要重复初始化Spring容器,从而影响批量测试执行效率的问题。为了实现上述目的,现提出的方案如下:一种基于Junit的单元测试方法,包括:利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类;针对每一个所述目标单元测试类均进行下述处理过程,直至目标单元测试类的测试案例均被执行完毕:利用Junit线程调用所述目标单元测试类的每一个测试案例;利用预设的基础测试类检查当前环境有无Spring容器,若没有,则创建Spring容器,创建的所述Spring容器包括每一个所述目标单元测试类执行时所必须的Javabean注册信息;利用Junit线程调用并执行所述目标单元测试类的每一个测试案例;销毁所述Spring容器。优选地,所述利用Junit线程调用并执行所述目标单元测试类的每一个测试案例,包括:利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建;利用Junit线程调用并执行所述目标单元测试类的任意一个测试案例;在检测到所述测试案例执行完毕后,销毁创建的上文下文环境,并返回至所述利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建的步骤,直至所述目标单元测试类的每一个测试案例均被执行完毕。优选地,创建的所述Spring容器还包括用于进行效率分析的切面拦截,则在所述利用Junit线程调用并执行所述目标单元测试类的每一个测试案例的同时,所述切面拦截会根据每一个测试案例执行的被测方法的包名、类名和方法名,对被测方法进行类别区分,并记录执行被测方法所消耗的时间。优选地,还包括:利用所述切面拦截记录的数据,生成测试报告。优选地,所述利用所述切面拦截记录的数据,生成测试报告的过程为:利用Apache的poi项目操作Excel表单,将所述切面拦截记录的数据填充至预先设置的模板中,以生成测试报告。一种基于Junit的单元测试装置,包括:目标单元测试类确定单元,用于利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类;目标单元测试类处理单元,用于针对每一个所述目标单元测试类均进行下述处理过程,直至目标单元测试类的测试案例均被执行完毕:利用Junit线程调用所述目标单元测试类的每一个测试案例;利用预设的基础测试类检查当前环境有无Spring容器,若没有,则创建Spring容器,创建的所述Spring容器包括每一个所述目标单元测试类执行时所必须的Javabean注册信息;利用Junit线程调用并执行所述目标单元测试类的每一个测试案例;Spring容器销毁单元,用于销毁所述Spring容器。优选地,所述目标单元测试类处理单元在利用Junit线程调用并执行所述目标单元测试类的每一个测试案例时,具体为:利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建;利用Junit线程调用并执行所述目标单元测试类的任意一个测试案例;在检测到所述测试案例执行完毕后,销毁创建的上文下文环境,并返回至所述利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建的步骤,直至所述目标单元测试类的每一个测试案例均被执行完毕。优选地,创建的所述Spring容器还包括用于进行效率分析的切面拦截,则在所述利用Junit线程调用并执行所述目标单元测试类的每一个测试案例的同时,所述切面拦截会根据每一个测试案例执行的被测方法的包名、类名和方法名,对被测方法进行类别区分,并记录执行被测方法所消耗的时间。优选地,还包括:测试报告生成单元,用于利用所述切面拦截记录的数据,生成测试报告。优选地,所述测试报告生成单元包括:测试报告生成子单元,用于利用Apache的poi项目操作Excel表单,将所述切面拦截记录的数据填充至预先设置的模板中,以生成测试报告。从上述的技术方案可以看出,本申请实施例提供的基于Junit的单元测试方法,利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类,在针对每一个目标单元测试类进行执行时,先判断是否存在Spring容器,若没有,则创建一个包括每一个目标单元测试类执行时所必须的Javabean注册信息的Spring容器,该Spring容器由于包括每一个目标单元测试类执行时所必须的Javabean注册信息,因此在执行每一个目标单元测试类时,无需重复建立Spring容器,也即不需要重复初始化Spring容器,大大提高了批量测试执行效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例公开的一种基于Junit的单元测试方法流程图;图2为本申请实施例公开的一种针对每一个目标单元测试类处理方法流程图;图3为本申请实施例公开的一种基于Junit的单元测试装置结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参见图1,图1为本申请实施例公开的一种基于Junit的单元测试方法流程图。如图1所示,该方法包括:步骤S100、利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类;具体地,我们预先设置好了配置文件,规定了哪些单元测试类需要进行测试。通过对用户指定的包进行解析,将规定的单元测试类确定为目标单元测试类。步骤S110、针对每一个所述目标单元测试类均进行处理,直至目标单元测试类的测试案例均被执行完毕;具体地,针对每一个目标单元测试类的处理过程,下文将进行详细介绍。一个单元测试类包括若干个测试案例,每个单元测试类都对应一个被测方法,测试案例的执行过程即为执行被测方法的过程。步骤S1本文档来自技高网...
一种基于Junit的单元测试方法及装置

【技术保护点】
一种基于Junit的单元测试方法,其特征在于,包括:利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类;针对每一个所述目标单元测试类均进行下述处理过程,直至目标单元测试类的测试案例均被执行完毕:利用Junit线程调用所述目标单元测试类的每一个测试案例;利用预设的基础测试类检查当前环境有无Spring容器,若没有,则创建Spring容器,创建的所述Spring容器包括每一个所述目标单元测试类执行时所必须的Javabean注册信息;利用Junit线程调用并执行所述目标单元测试类的每一个测试案例;销毁所述Spring容器。

【技术特征摘要】
1.一种基于Junit的单元测试方法,其特征在于,包括:利用预先设置的配置文件对用户指定的包进行解析,将解析所得的若干个单元测试类确定为目标单元测试类;针对每一个所述目标单元测试类均进行下述处理过程,直至目标单元测试类的测试案例均被执行完毕:利用Junit线程调用所述目标单元测试类的每一个测试案例;利用预设的基础测试类检查当前环境有无Spring容器,若没有,则创建Spring容器,创建的所述Spring容器包括每一个所述目标单元测试类执行时所必须的Javabean注册信息;利用Junit线程调用并执行所述目标单元测试类的每一个测试案例;销毁所述Spring容器。2.根据权利要求1所述的测试方法,其特征在于,所述利用Junit线程调用并执行所述目标单元测试类的每一个测试案例,包括:利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建;利用Junit线程调用并执行所述目标单元测试类的任意一个测试案例;在检测到所述测试案例执行完毕后,销毁创建的上文下文环境,并返回至所述利用Junit线程调用所述基础测试类中的第一预设方法,以完成单元测试的上下文环境的创建的步骤,直至所述目标单元测试类的每一个测试案例均被执行完毕。3.根据权利要求1或2所述的测试方法,其特征在于,创建的所述Spring容器还包括用于进行效率分析的切面拦截,则在所述利用Junit线程调用并执行所述目标单元测试类的每一个测试案例的同时,所述切面拦截会根据每一个测试案例执行的被测方法的包名、类名和方法名,对被测方法进行类别区分,并记录执行被测方法所消耗的时间。4.根据权利要求3所述的测试方法,其特征在于,还包括:利用所述切面拦截记录的数据,生成测试报告。5.根据权利要求4所述的测试方法,其特征在于,所述利用所述切面拦截记录的数据,生成测试报告的过程为:利用Apache的poi项目操作Excel表单,将所述切面拦截记录的数据填充至预先设置的模板中,以生成测试报告。6.一种基于Junit的单元测试装置,其特征在于,包括:目标单元测...

【专利技术属性】
技术研发人员:陈炙邢磊王戎聂砂安兴朝丁林
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1