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 ()。
那麼我該如何解決這個難題? 問候