验证并验证NoMoreInteractions到gtest

时间:2016-04-15 09:08:57

标签: c++ unit-testing junit googletest googlemock

我正在尝试重写从JUnit为gtest编写的测试:我面对以下几行:

{{1}}

而且我不知道该怎么处理。 请帮帮我。

P.S。如何从gtest / gmock获得一定比例的覆盖率?

1 个答案:

答案 0 :(得分:1)

假设对象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