Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 增加void函数的覆盖率,其中on-else分支只是一个打印,没有变量更改_C++_Googletest_Googlemock - Fatal编程技术网

C++ 增加void函数的覆盖率,其中on-else分支只是一个打印,没有变量更改

C++ 增加void函数的覆盖率,其中on-else分支只是一个打印,没有变量更改,c++,googletest,googlemock,C++,Googletest,Googlemock,我必须测试一个类似于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

我必须测试一个类似于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
其中MOCK_Member_name是对Member_name的模拟

但我应该如何验证for m_member_name==nullptr是否正在执行else分支

我知道这是一个愚蠢的问题,但我只研究了Google Mock一小段时间。

我研究了更多(请参阅,在这个具体案例中有最好的解决方案)

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

EXPECT_CALL(MOCK_Member_name, another_function())  
         .Times(0); 

有关其他详细主题,请参见:

Logger@idclev463035818,我想它应该可以工作。Logger是一个非常丑陋的类,它被覆盖了,我也不知道gmock,但是与其只模拟
Logger
的一个方法,不如更容易模拟整个
Logger
。如果你在
else
中只有一条注释,我将你会争辩说代码需要被修复,而
或者
需要被删除;)
EXPECT_CALL(MOCK_Member_name, another_function())  
         .Times(0);