spring工程的單元測試用例載入配置方法

yingxian_Fei發表於2017-04-25

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{
	
	@Autowired
	private IDeviceEntityService mDeviceService;
	
	@Test
	public 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 {

}


相關文章