使用最新版本的EasyMock,我有一个方法,我需要存根.该方法接受一个object参数并返回void.
我正在测试的方法正在调用存根方法.没有惊喜.我的困难在于,作为模拟方法的参数提供的对象是由我正在测试的方法创建的.
我知道我可以解决这个问题,createNiceMock()但有没有办法明确地删除这个方法?
示例代码:
public interface IMockMe {
void doSomething(InnerObj obj);
}
public class TestMe {
IMockMe mockMe;
public void testThisMethod() {
InnerObj obj = new InnerObj();
mockMe.doSomething(obj);
}
}
class Tester {
@Test
public void testThatDarnedMethod() {
IMockMe mocked = EasyMock.create(IMockMe.class);
mocked.doSomething( /* what goes here? */);
EasyMock.expectLastCall();
TestMe testMe = new TestMe(mocked);
testMe.testThisMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
请查看EasyMock文档的 “带有参数匹配器的灵活期望”部分。文档样本:
String[] documents = new String[] { "Document 1", "Document 2" };
expect(mock.voteForRemovals(aryEq(documents))).andReturn(42);
Run Code Online (Sandbox Code Playgroud)
的aryEq(documents)是其产生匹配器将匹配由身份与权限内容的任何阵列,而不是匹配的呼叫。
就您而言,您可能需要anyObject()匹配器。
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |