gpt4 book ai didi

c++ - 验证并验证 NoMoreInteractions 到 gtest

转载 作者:行者123 更新时间:2023-11-30 05:28:48 26 4
gpt4 key购买 nike

我正在尝试为 gtest 重写从 JUnit 编写的测试:我遇到了以下几行:

when(obj1.peek(300)).thenReturn(true);
verify(obj1, times(1)).peek(333);
verify(obj2, times(1)).log(400);
verifyNoMoreInteractions(obj1);
verifyNoMoreInteractions(obj2);

我不知道该如何处理。请帮助我。

附言如何从 gtest/gmock 获取覆盖率百分比?

最佳答案

假设对象 obj1obj2 的模拟类被命名为 MyMockClass1MyMockClass2,下面是如何您可以使用 gmock 执行此操作:

testing::StrictMock<MyMockClass1> obj1;
testing::StrictMock<MyMockClass2> obj2;

EXPECT_CALL(obj1, peek(300)).WillOnce(Return(true));
EXPECT_CALL(obj1, peek(333)).Times(1);
EXPECT_CALL(obj2, loog(400)).Times(1);

testing::StrictMock 的使用将对该模拟对象的每个无趣方法调用都视为错误,这应该是您希望通过 verifyNoMoreInteractions 实现的。

就代码覆盖率而言,我个人使用 gtest 的 Visual Studio 插件,这样您就可以查看测试的代码覆盖率。既然你不能使用相同的,那么最好的选择可能是@Stefano 建议的 Gcov

关于c++ - 验证并验证 NoMoreInteractions 到 gtest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36642888/

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