package com.abin.lee.mock.jmock;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-5-6
* Time: 涓嬪崍12:23
* To change this template use File | Settings | File Templates.
*/
public interface UserService {
public String getMessage(String message);
}
package com.abin.lee.mock.jmock;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-5-6
* Time: 涓嬪崍12:24
* To change this template use File | Settings | File Templates.
*/
public class UserServiceImpl implements UserService {
@Override
public String getMessage(String message) {
String result="";
result="hello "+message;
return result;
}
}
package com.abin.lee.mock.jmock;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-5-6
* Time: 涓嬪崍12:29
* To change this template use File | Settings | File Templates.
*/
public class UserManageTest {
@Test
public void testUserManage(){
Mockery mockery= new Mockery();
final UserService userService=mockery.mock(UserService.class);
final String message="abin";
final String expectValue="hello abin";
mockery.checking(new Expectations(){{
oneOf(userService).getMessage(message);
will(returnValue(expectValue));
}});
String actual=userService.getMessage(message);
System.out.println("actual="+actual);
TestCase.assertEquals(expectValue,actual);
mockery.assertIsSatisfied();
}
}
絎簩閮ㄥ垎錛欽MOCK嫻嬭瘯鏅氱被
package com.abin.lee.mock.jmock;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-5-6
* Time: 涓嬪崍12:43
* To change this template use File | Settings | File Templates.
*/
public class UserManage {
public String getMessage(String message){
String result="hello "+message;
System.out.println("result="+result);
return result;
}
}
package com.abin.lee.mock.jmock;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JUnit4Mockery;
import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.Test;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-5-6
* Time: 涓嬪崍12:47
* To change this template use File | Settings | File Templates.
*/
public class UserManageTest {
@Test
public void testUserManage(){
Mockery mockery=new Mockery();
mockery.setImposteriser(ClassImposteriser.INSTANCE);
final UserManage userManage=mockery.mock(UserManage.class);
final String message="abin";
final String expectValue="hello abin";
mockery.checking(new Expectations(){{
oneOf(userManage).getMessage(message);
will(returnValue(expectValue));
}});
String expect=userManage.getMessage(message);
System.out.println("expect="+expect);
TestCase.assertEquals(expectValue,expect);
mockery.assertIsSatisfied();
}
}
package com.abin.lee.jmock;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-23
* Time: 涓婂崍11:07
* To change this template use File | Settings | File Templates.
*/
public interface UserDao {
public String getMessage(String message);
}
package com.abin.lee.jmock;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-23
* Time: 涓婂崍11:06
* To change this template use File | Settings | File Templates.
*/
public class UserService {
private UserDao userDao;
public String findMessage(String message){
return this.userDao.getMessage(message);
}
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
}
package com.abin.lee.jmock;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.junit.Test;
/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-23
* Time: 涓婂崍11:08
* To change this template use File | Settings | File Templates.
*/
public class UserManageTest {
@Test
public void testUserManage(){
// 寤虹珛涓涓猼est涓婁笅鏂囧璞°?br /> Mockery mockery=new Mockery();
// 鐢熸垚涓涓猰ock瀵硅薄
final UserDao userDao=mockery.mock(UserDao.class);
// 璁劇疆鏈熸湜銆?br /> mockery.checking(new Expectations(){
{
// 褰撳弬鏁頒負"abin"鐨勬椂鍊欙紝userDao瀵硅薄鐨刧etMessage鏂規硶琚皟鐢ㄤ竴嬈★紝騫朵笖榪斿洖瑗垮畨銆?br /> oneOf(userDao).getMessage("abin");
will(returnValue("abin"));
}
});
UserService userService=new UserService();
userService.setUserDao(userDao);
String message=userService.findMessage("abin");
System.out.println("message="+message);
TestCase.assertEquals("abin",message);
}
}