spring结合mockito
2015-12-14 17:18
531 查看
mockito可模拟依赖对象的行为,从而简化跨类的测试。
maven获取mockito:
以下例:
被测类:ConnInfoService
依赖类:ConnInfoAccessor
@InjectMocks用于标识被测对象,从而把由@mock表示的依赖对象自动注入到被测对象中
@Mock用于表示依赖对象
MockitoAnnotations.initMocks(this);用于初始化以上注入动作
maven获取mockito:
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.10.19</version> </dependency>
以下例:
被测类:ConnInfoService
依赖类:ConnInfoAccessor
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "/conf/test-context.xml") public class ConnInfoServiceTest { @Autowired @InjectMocks private ConnInfoService connInfoService; @Mock private ConnInfoAccessor connInfoAccessor; @Before public void before() throws Exception { MockitoAnnotations.initMocks(this); } /** * Method: getConnInfo(String connId) */ @Test public void testGetConnInfo() throws Exception { GPSConnInfo gpsConnInfo = new GPSConnInfo(); gpsConnInfo.setAppKey("appKey"); gpsConnInfo.setGpsNodeId("node1"); when(connInfoAccessor.getConnInfo("connId")).thenReturn(gpsConnInfo); Assert.assertEquals(gpsConnInfo, connInfoService.getConnInfo("connId")); } /** * Method: saveConnInfo(String connId, GPSConnInfo gpsConnInfo) */ @Test(expected = GPSServiceException.class) public void testSaveConnInfo() throws Exception { GPSConnInfo gpsConnInfo = new GPSConnInfo(); gpsConnInfo.setAppKey("appKey"); gpsConnInfo.setGpsNodeId("node1"); doThrow(new DataAccessException("e") { @Override public String getMessage() { return super.getMessage(); } }).when(connInfoAccessor).saveConnInfo("connId", gpsConnInfo); connInfoService.saveConnInfo("connId", gpsConnInfo); }
@InjectMocks用于标识被测对象,从而把由@mock表示的依赖对象自动注入到被测对象中
@Mock用于表示依赖对象
MockitoAnnotations.initMocks(this);用于初始化以上注入动作
when(connInfoAccessor.getConnInfo("connId")).thenReturn(gpsConnInfo)用于模拟带返回值的getConnInfo方法的处理
doThrow(new DataAccessException("e") { @Override public String getMessage() { return super.getMessage(); } }).when(connInfoAccessor).saveConnInfo("connId", gpsConnInfo);用于模拟无返回值的saveConnInfo方法抛出异常的行为
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- mysql集群之MMM简单搭建
- 通晓网络测试常用命令
- Nodejs学习笔记之测试驱动
- 模拟Spring的简单实现
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- 可以测试javascript运行效果的代码
- 使用php测试硬盘写入速度示例
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- python 测试实现方法
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏
- 详解Java的Spring框架中的事务管理方式