spring工程的单元测试用例加载配置方法

来源:互联网 发布:淘宝零点抢购攻略 编辑:程序博客网 时间:2024/05/16 04:48

spring开发时可以使用基于java注解的配置,也可以使用基于xml配置文件的配置方法。大多数情况下在开发过程中需要编写单元测试用例针对不同的模块进行独立测试用于验证独立的功能,本文介绍在基于不同的配置项目中单元测试加载配置的方法。

1、基于xml配置的单元测试

如我们使用applicationContext-mybatis.xml配置文件配置工程,那么在单元测试时可以建立一个父类,在父类中统一加载配置文件,其子类集成父类即可。如下为测试的父类加载配置的方法:

package api.landsem.mybatis.test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:applicationContext-mybatis.xml"})  public class BaseTest {}

如下为一个简单的单元测试类实现源码:

package api.landsem.mybatis.test.device;import java.util.Date;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;import api.landsem.mybatis.entity.DeviceEntity;import api.landsem.mybatis.service.device.IDeviceEntityService;import api.landsem.mybatis.test.BaseTest;public class DeviceTest extends BaseTest{@Autowiredprivate IDeviceEntityService mDeviceService;@Testpublic void addDevice() {DeviceEntity d = new DeviceEntity();d.setCreateTime(new Date());d.setUpdateTime(new Date());d.setCpuid("123456789");d.setImei("1234567890");d.setDevicename(d.getImei());d.setTbCarsId(2L);d.setTbIotAliDeveicesDeviceid("12312312");mDeviceService.save(d);}}

2、基于java注解配置的单元测试

项目使用java注解类进行配置,那么可以测试的父类可以使用如下类似的方法加载配置,子类集成父类做针对性的单元测试代码即可。如配置在RootConfiguration的java类中完成,那么可以使用如下代码加载配置:

package api.landsem.base.test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.web.WebAppConfiguration;import api.landsem.base.configuration.RootConfiguration;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = {RootConfiguration.class}) @WebAppConfiguration public class BaseTest {}


0 0
原创粉丝点击