第一部分:JMOCK测试接口
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();
}
}
第二部分:JMOCK测试普通类
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();
}
}