easymock测试没有方法执行

时间:2014-08-21 09:22:51

标签: junit easymock

我的方法中有这样的阻碍

@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
    if (null != processor) {
        processor.process();
    } else {
        LOGGER.warn("Job was not initialized correctly.");
    }
}

覆盖processor.process()我写了这个测试

@Test
public void testExecuteInternal() throws JobExecutionException {
    JobExecutionContext context = createMock(JobExecutionContext.class);
    processor.process();
    expectLastCall();
    replay(processor);

    job.executeInternal(context);
    verify(processor);
}

但是如何覆盖未执行process的块?

1 个答案:

答案 0 :(得分:1)

由于您使用setter方法为processor设置executeInternal,要测试未执行process的块,请在测试用例中使用setter设置{ {1}}到processor

而不是null

您将参加此测试processor = EasyMock.createMock(Processor.class)

这应该可以解决问题。