【发布时间】:2021-05-03 09:45:50
【问题描述】:
我需要测试g_ascii_strtoll失败并将两个指针设置为相同值的情况,将errno设置为0并返回0(根据文档:“如果字符串转换失败,则返回零,并且 endptr 返回 nptr(如果 endptr 不为 NULL)”)(即使在我的情况下 output_str = NULL)
我要测试的代码:
gchar* output_ptr= NULL;
gchar* input_ptr= "f";
result = g_ascii_strtoll(input_ptr, &output_ptr, 10);
我的谷歌测试 sn-p:
const gchar* nptr;
EXPECT_CALL(mock_gstring, g_ascii_strtoll(_,_,_)).WillOnce( DoAll(SaveArg<0>(&nptr), SetArgReferee<1>((char)*nptr), SetErrnoAndReturn(0,0)) );
基本上,我只想做*output_ptr= (gchar *)input_ptr;,但使用 Google 测试操作,但我无法使其工作......
【问题讨论】:
标签: unit-testing glib googlemock