您的位置:首页 > 其它

Mockito 简单使用

2017-06-30 23:47 435 查看
有一个月没写博客了,以后再忙也要抽时间写啊。

目的

正常情况下,如果要对 UserService 中方法的测试,那么其依赖的 UserDao 也要可以调通,但是,UserDao 可能并不是直接到 DB 的,也可能到各种存储介质中,那么问题就复杂了,我们的目的仅仅是要测试 UserService 中的业务处理逻辑,UserDao 返回的结果并不重要

这种情况下,如果我们能模拟一个 UserDao 返回的结果来供 UserService 处理,就太好了

package com.zhengbin.service.test;

/**
* Created by ZhengBin on 2017/6/30.
*/
public class UserServiceImpl implements UserService {

private UserDao userDao;

public User getUser(int id) {
System.out.println("doing something");
return userDao.getUser(id);
}
}


View Code
MockTest:

package com.zhengbin.service.test;

import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

/**
* Created by ZhengBin on 2017/6/30.
*/
public class MockTest {
@InjectMocks
private UserServiceImpl userService;

@Mock
private UserDao userDao;

@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}

@Test
public void testGetUser() {
int id = 1;
User user = new User();
user.setName("mock - zb");
user.setId(0);
Mockito.when(userDao.getUser(1)).thenReturn(user);
System.out.println(userService.getUser(id));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: