所以我添加了jMock 2.5.1中的所有jars
当尝试跟随http://www.ibm.com/developerworks/opensource/library/os-eclipse-rmock/index.html时
import org.jmock.Mock;
import org.jmock.cglib.MockObjectTestCase;
public class ServiceClassTest extends MockObjectTestCase {
private ServiceClass serviceClass;
private Mock mockCollaborator;
private ICollaborator collaborator;
public void setUp(){
serviceClass = new ServiceClass();
mockCollaborator = new Mock(ICollaborator.class);
}
public void testRunServiceAndReturnFalse(){
mockCollaborator.expects(once()).method\
("executeJob").will(returnValue("failure"));
collaborator = (ICollaborator)mockCollaborator.proxy();
boolean result = serviceClass.runService(collaborator);
assertFalse(result);
}
}但是,它不能工作吗?它找不到org.jmock.Mock,而是建议使用Mockery。我尝试使用Mockery,但它似乎不允许传递参数。
发布于 2012-01-08 21:22:38
该教程使用已过时的JMock 1。在JMock 2中,Mock类已被删除,代之以Mockery和泛型。
而不是
Mock mockCollaborator = new Mock(ICollaborator.class);你会这么做的
ICollaborator mockCollaborator = mockery.mock(ICollaborator.class);其中,mockery是Mockery类型的字段。
我建议完全忽略该教程,而使用JMock website上的教程。
https://stackoverflow.com/questions/8777849
复制相似问题