增加void函数的覆盖率,其中else分支上的内容只是打印而未更改变量

问题描述 投票:0回答:1

我必须测试与foo():]相似的功能

class A{

.....  

void foo(int a)
{
        if( nullptr != m_member_name)
                m_member_mane->another_function();

        else Logger << "some message";
}

.....
Member_name *m_member_name;

}//end class A

为了拥有分支机构覆盖范围,我认为我应该对m_member_name!= nullptr

进行一次测试,对m_member_name == nullptr进行一次测试。

首先很容易,因为我希望使用[]一次调用another_function()

EXPECT_CALL(MOCK_Member_name, another_function())  
         .Times(1); // I created a mock for Member_name before

其中MOCK_Member_name是Member_name的模拟物

但是我应该如何验证m_member_name == nullptr是否在else分支上进行?

我知道这是一个愚蠢的问题,但是我正在短期内研究gmock。

我必须测试与foo()类似的功能:类A {..... void foo(int a){if(nullptr!= m_member_name)m_member_mane-> another_function();其他记录器

c++ googletest gmock
1个回答
0
投票

我研究了更多(请参阅source,在此特定情况下有最佳解决方案。

如果我想验证它是否在else分支上,我应该期望使用。Times(0);

© www.soinside.com 2019 - 2024. All rights reserved.