我正在尝试重写从JUnit为gtest编写的测试:我面对以下几行:
{{1}}
而且我不知道该怎么处理。 请帮帮我。
P.S。如何从gtest / gmock获得一定比例的覆盖率?
答案 0 :(得分:1)
假设对象obj1
和obj2
的模拟类名为MyMockClass1
和MyMockClass2
,以下是使用 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 。