easymock缺少行为定义

时间:2014-07-23 17:29:13

标签: easymock

我正在使用easymock编写测试,并为测试创建了以下模拟对象,

auditor = createMock(Auditor.class);
auditor.start(isA(Audit.class)); //record
replay(auditor);
expect(auditor.getAudit("my-process")).andReturn(null);
replay(auditor);

审核员类有一个方法' start(Audit.class)',我首先记录它,然后将其他方法存入' getAudit()',然后重播它们。但它抱怨:从之前的呼叫开始缺少行为定义(isA(Audit.class)),我在这里做错了什么?感谢,

1 个答案:

答案 0 :(得分:0)

您已正确指定“auditor.start(...)”方法的模拟行为。假设它返回void,一种方法是:

@Test
public void testAuditor() {
    Auditor auditor = EasyMock.createMock(Auditor.class);
    auditor.start(Audit.class);
    EasyMock.expectLastCall();  //record
    EasyMock.expect(auditor.getAudit("my-process")).andReturn(null);
    EasyMock.replay(auditor);

    //rest of your test code
}