我有问题。 我不明白为什么mockito会例外。 RecordWriter将Record写入文件。我想验证它是否写入。 我实现了另一个函数,我试图模拟(OutputStream.class),但结果是一样的。我目前的测试是:
var $win = $(window);
var $container = $('.PortfolioItemContainer'),
$containerProxy = $container.clone().empty().css({ visibility: 'hidden' });
var $items = $('.PortfolioItemContainer .bgCover');
$items.lazyload({
effect: "fadeIn",
effectspeed: 1500,
failure_limit: Math.max($items.length - 1, 0)
});
var grid = $('.PortfolioItemContainer').isotope({
resizable: false,
filter: '.all',
masonry: { columnWidth: Math.floor( $('.PortfolioItemContainer').width() / 4)},
onLayout: function() {
$win.trigger("scroll");
}
});
例外情况是:
try (RecordWriter writer = new RecordWriter(serverAlias))
{
RecordWriter wr = mock(RecordWriter.class);
writer.writeRecordToFile(httpRecord.printRecord().getBytes(CHARSET_UTF8));
verify(wr,times(1)).writeRecordToFile(httpRecord.printRecord().getBytes(CHARSET_UTF8));
}
感谢所有人。
答案 0 :(得分:1)
您没有在模拟上调用writeRecordToFile方法。
你有:
1)一个真实的实例 - RecordWriter writer = new RecordWriter(serverAlias)
2)模拟 - RecordWriter wr = mock(RecordWriter.class);
然后在真实实例(writer)上调用该方法,并尝试验证mock(wr)是否与之交互。
将方法调用更改为:wr.writeRecordToFile(httpRecord.printRecord().getBytes(CHARSET_UTF8));
它应该有效。如果你问我,这似乎是一个毫无意义的考验。