mock函数没有默认操作集,其返回类型没有设置默认值

时间:2017-10-04 07:10:12

标签: c++ unit-testing googlemock

我正在为我的代码进行谷歌模拟测试,我在运行测试时遇到此错误。 具体来说,当我注释掉我的模拟的默认构造函数时,错误消失了。我想知道为什么会这样。

以下是我的代码示例:

在我的mock.hpp中:

struct MockWidget
{
  MockWidget();
  ~MockWidget();
};
typedef ::testing::NiceMock<MockWidget> NiceMockWidget;

在我的mock.cpp中:

MockWidget *pMockWidget = nullptr;
MockWidget::MockWidget()
{
    poMockWidget = this;
}

MockWidget::~MockWidget()
{
    poMockWidget = nullptr;
}

在我的test.cpp中:

class WidgetTest : public::testing::Test
{
    protected:
        //some code here 
    public:
        NiceMockWidget mockWidget;
}

Test(WidgetTest, Test01)
{
    //some code here
}

现在即使我的Test01测试不使用mockWidget,我也会得到标题中声明的错误。如果我删除构造函数定义和声明,则错误消失。有帮助吗?谢谢!

0 个答案:

没有答案