gpt4 book ai didi

c++ - 如果预期调用过度饱和,谷歌测试/模拟测试失败

转载 作者:行者123 更新时间:2023-11-30 02:06:59 25 4
gpt4 key购买 nike

如果 google 模拟方法的调用次数超过预期,我该如何使 google 测试失败?

例子如下:

class MockIO : iIO
{
MOCK_METHOD1(IO_Read, void (uint8_t));
};

TEST(case, test)
{
MockIO io;
EXPECT_CALL(io, IO_Read(0x01)).Times(10);
for (i=0; i<20; i++)
io.IO_Read(0x01);
}

据我所知,我应该尝试

EXPECT_CALL(io, IO_Read(0x01)).Times(10).Throw(exception);

但在嵌入式项目中不使用异常。

有什么想法吗?

最佳答案

我认为您应该对测试使用严格的模拟。

TEST(case, test){
StrictMock<MockIO> io;
EXPECT_CALL(io, IO_Read(0x01)).Times(10);

当使用 Strictmock 时,预期的调用不会导致测试失败。

http://code.google.com/p/googlemock/wiki/CookBook#Nice_Mocks_and_Strict_Mocks

关于c++ - 如果预期调用过度饱和,谷歌测试/模拟测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8298907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com