easymock返回null而不是我的值

时间:2014-03-18 16:36:48

标签: easymock

我不确定为什么“指标”最终为空。我希望该方法始终为我的测试返回相同的值

    CountMetric countMetric = new CountMetricStub("count");
    expect(metricManager.getOrCreateCountMetric(anyObject(String.class))).andStubReturn(countMetric);

    CountMetric metric = metricManager.getOrCreateCountMetric("ASDF");

    assertNotNull(metric);

任何想法我在这里做错了什么?

感谢, 迪安

1 个答案:

答案 0 :(得分:3)

你需要重播模拟

CountMetric countMetric = new CountMetricStub("count");
expect(metricManager.getOrCreateCountMetric(anyObject(String.class))).andStubReturn(countMetric);
EasyMock.replay(metricManager); //Add this line

CountMetric metric = metricManager.getOrCreateCountMetric("ASDF");

assertNotNull(metric);

目前,metricManager仍处于记录模式,这意味着对其方法的任何调用都只执行默认行为。

如果您同时打电话给EasyMock.verify()(没有拨打replay()),EasyMock会告诉您在录音模式下无法通话验证。