伪代码:
void fun()
{
while (m->hasMessage())
{
std::pair<std::string, Vector> msg_pair = m->getMessage();
auto topic = msg_pair.first;
auto msg = msg_pair.second;
for (auto const& x : msg)
{
auto const type = m->MessageType(x);
if (type == "a")
{
funa(x,topic);
}
else if (type == "b")
{
funb(x,topic);
}
else if (type == "c")
{
func(x,topic);
}
}
}
}
fun a,fun B,fun c是私有函数,fun是同一类的公共函数如何使用google test测试函数fun
2条答案
按热度按时间gdrx4gfi1#
不应测试私有函数,而应测试公共接口
然而,如果你真的需要它,你可以使用这个(直接从谷歌测试文档...):
FRIEND_TEST(测试用例名称,测试名称);
比如说
jhdbpxl92#
我测试公共函数的方法是在私有函数中添加
throw conditions(exceptions)
,并在测试用例中使用宏EXPECT_NOTHROW
来测试公共函数: