我在visual studio 2015中使用google测试创建了一个Cpp项目。并使用vsperfcmd计算代码覆盖率,但得到的结果较低,某些代码行未标记为已覆盖。 这是我的代码:
int FooBar::Max(int a, int b)
{
if (a > b)
{
return a;
}
return b;
}
这是我的测试用例:
class FooBarTest : public testing::Test
{
public:
void testMax1()
{
FooBar fooBar;
ASSERT_EQ(fooBar.Max(10, 5) , 10);
}
void testMax2()
{
FooBar fooBar;
ASSERT_EQ(fooBar.Max(1, 2), 2);
}
};
TEST_F(FooBarTest, testMax1)
{
testMax1();
}
TEST_F(FooBarTest, testMax2)
{
testMax2();
}
这是由vsperfcmd标记的代码覆盖率,未涵盖返回b代码行,代码覆盖率为75%: enter image description here
有人可以告诉我为什么或如何解决它。