我不确定为什么“指标”最终为空。我希望该方法始终为我的测试返回相同的值
CountMetric countMetric = new CountMetricStub("count");
expect(metricManager.getOrCreateCountMetric(anyObject(String.class))).andStubReturn(countMetric);
CountMetric metric = metricManager.getOrCreateCountMetric("ASDF");
assertNotNull(metric);
任何想法我在这里做错了什么?
感谢, 迪安
答案 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会告诉您在录音模式下无法通话验证。