您的位置:首页 > 编程语言 > Java开发

spring-test 加 mock

2016-05-13 11:08 323 查看
最近看spring xd的源码,发现他们写的代码测试都是用的 junit spring test mockito,于是自己百度 外加在自己项目中测试一下,感觉还行,效果都达到了。附上代码,备忘。

package com.zh.base;

import static org.mockito.Mockito.when;

import javax.annotation.Resource;

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.mockito.Mock;

import org.mockito.MockitoAnnotations;

import org.springframework.test.annotation.Rollback;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import org.springframework.transaction.annotation.Transactional;

import com.sky.metadata.dao.impl.MetaDataDaoImpl;

import com.sky.metadata.service.impl.MetaDataServiceImpl;

import com.sky.metadata.vo.MetaData;

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration({"/beans.xml"})

public class TestTemplate extends AbstractJUnit4SpringContextTests{

@Resource

@InjectMocks

MetaDataServiceImpl service;

@Mock

MetaDataDaoImpl dao;

@Before

public void setUp(){

MockitoAnnotations.initMocks(this);//执行这段话时,自动将@mock @spy的属性 注入在@InjectMocks对应的service中 test放中的mock when就使用其case

}

@Test

@Transactional

@Rollback(false)

public void testT(){

MetaData metaData = new MetaData();

when(dao.get(1)).thenReturn(metaData);

MetaData metaData2 = service.get(1);

Assert.assertEquals(metaData, metaData2);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: