2
我想嘲笑返回void功能:Gmock通话功能两次
class FileDownloaderMock : public FileDownloader
{
public:
MOCK_CONST_METHOD1(downloadFile,
void(data *data_ptr));
};
在测试情况下,我想调用这个函数的2倍,首先应该上升异常,并在第二次应该工作正确。所以我的测试案例看起来像这样,但不起作用。
TEST_F(BCtrlTargetBdDownloaderTests, DownloaderShouldCorrectlyDownloadTargetBdInFirstAttempt)
{
EXPECT_CALL(m_fileDownloader, downloadFile(DataReqMatcher(l_expectedReq))).Times(2)
.WillOnce(Throw(UpgradeException("Download failed")));
}
控制台输出:
在EXPECT_CALL指定的几个动作(m_fileDownloader,downloadFile( DataReqMatcher(l_expectedReq)))...预计将调用两次,但 只有1 WillOnce ()。
那么我该如何解决这个难题? 问候