c++ - 编写 gtest 验证类是否为空
问题描述
我有几行代码,如下所示:
int class1::function() {
std::unique_ptr<namespace::class2> devObjPtr(new namespace::class2);
if (devObjPtr == nullptr) {
return 0;
}
return 1;
}
此函数存在于同一命名空间中的另一个类中。如何使用 gtest 或 gmock 测试那段代码?
解决方案
如果您只对控制 的输出感兴趣class1::function()
,那么您可以像这样使用 gMock:
class mock_class1 : public class1
{
public:
MOCK_METHOD(int, function, ());
};
TEST(TestBase, Test_success)
{
mock_class1 mock;
EXPECT_CALL(mock, function).WillOnce(Return(0));
// Some code that invokes class1::function()...
}
如果这不能回答问题,那么您可能需要提供有关您要完成的工作的更多信息。
推荐阅读
- nativescript - Nativescript Camera Plus photoCapturedEvent 未调用且图像未保存到库 nativescript+vue
- python - 安装软盘包时出现 mkl_intel_thread.dll 错误
- ios - ref.updateChildValues 触发 .childMoved 两次 firebase 实时数据库
- c++ - Tic-Tac-Toe 在 C++ 中的帮助,如何制作一个循环,以便井字游戏每次都重复棋盘
- ldap - 如何在 OPENLDAP 中配置镜像节点
- python - 如何从python中的两个列表制作字典列表
- node.js - 如何在 Angular 6 中实现角色重定向
- spring-data-jpa - Spring Data Jpa Query 方法没有调用 repositoryBaseClass
- python - How do i find variable length Huffman codes in a string for a best fit?
- javascript - 有没有办法通过 NodeJS Azure 函数延迟将消息放入 Azure 存储队列?