Напишите gtest, чтобы убедиться, что класс равен нулю - PullRequest
0 голосов
/ 07 мая 2020

У меня есть несколько строк кода, как показано ниже:

int class1::function() {
  std::unique_ptr<namespace::class2> devObjPtr(new namespace::class2);
  if (devObjPtr == nullptr) {
    return 0;
  }
  return 1;
}

Эта функция присутствует в другом классе в том же пространстве имен. Как я могу проверить этот фрагмент кода с помощью gtest или gmock?

1 Ответ

0 голосов
/ 07 мая 2020

Если вас интересует только управление выводом 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()...
}

Если это не отвечает на вопрос, то вам, вероятно, понадобится чтобы предоставить больше информации о том, чего вы пытаетесь достичь sh.

...