gpt4 book ai didi

java - org.jmock.Mock 不再可用?

转载 作者:行者123 更新时间:2023-12-01 15:36:25 24 4
gpt4 key购买 nike

所以我添加了 jMock 2.5.1 中的所有 jar

尝试关注 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,但它似乎不允许传递参数。

最佳答案

该教程使用 JMock 1,该版本已过时。在 JMock 2 中,Mock 类已被废除,取而代之的是 Mockery 和泛型。

而不是

Mock mockCollaborator = new Mock(ICollaborator.class);

你会做

ICollaborator mockCollaborator  = mockery.mock(ICollaborator.class);

其中 mockeryMockery 类型的字段。

我建议完全忽略该教程,并使用 JMock website 上的教程。 .

关于java - org.jmock.Mock 不再可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8777849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com