编写 gtest 以验证 class 是否为空
Write gtest to verify the class is null
我有几行代码如下:
int class1::function() {
std::unique_ptr<namespace::class2> devObjPtr(new namespace::class2);
if (devObjPtr == nullptr) {
return 0;
}
return 1;
}
此函数存在于同一命名空间中的另一个 class 中。我如何使用 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()...
}
如果这不能回答问题,那么您可能需要提供有关您要完成的任务的更多信息。
我有几行代码如下:
int class1::function() {
std::unique_ptr<namespace::class2> devObjPtr(new namespace::class2);
if (devObjPtr == nullptr) {
return 0;
}
return 1;
}
此函数存在于同一命名空间中的另一个 class 中。我如何使用 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()...
}
如果这不能回答问题,那么您可能需要提供有关您要完成的任务的更多信息。