代码之家  ›  专栏  ›  技术社区  ›  lapots

easymock测试无方法执行

  •  0
  • lapots  · 技术社区  · 10 年前

    我的方法有这样的障碍

    @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 回复  |  直到 10 年前
        1
  •  1
  •   Varun Phadnis    10 年前

    由于您使用setter方法来设置 processor 对于 executeInternal ,测试块,其中 process 在测试用例中,使用setter设置 加工机 null .

    所以不是 processor = EasyMock.createMock(Processor.class)

    你必须参加这次考试 processor = null

    这应该会奏效。