C++ 谷歌测试C代码,无析构函数警告

C++ 谷歌测试C代码,无析构函数警告,c++,c,testing,googletest,C++,C,Testing,Googletest,我目前正在用google test测试我的C代码,它运行良好。我用fff.h框架来伪造我的C代码 问题不在于测试本身,而在于编译时收到的编译器警告,每次测试都会收到警告: class 'theTest_specificTest_Test' defines a copy constructor and a copy assignment operator but does not define a destructor, a move constructor or a move assignmen

我目前正在用google test测试我的
C
代码,它运行良好。我用
fff.h
框架来伪造我的
C
代码

问题不在于测试本身,而在于编译时收到的编译器警告,每次测试都会收到警告:

class 'theTest_specificTest_Test' defines a copy constructor and a copy assignment operator but does not define a destructor, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions]
我的测试类如下所示:

DEFINE_FFF_GLOBALS;
FAKE_VALUE_FUNC(int, a_func, const char *, const char *);
...
class theTest : public testing::Test
{
public:
   // some variables here
    virtual void SetUp()
    {
        RESET_FAKE(a_func);
        FFF_RESET_HISTORY();
    }

    virtual void TearDown()
    {
    }
};
TEST_F(theTest, theThest_specificTest)
{
    a_func_fake.return_val = 1;  
    int ret = some_func();
    ASSERT_EQ(ret, 0);
}
测试如下所示:

DEFINE_FFF_GLOBALS;
FAKE_VALUE_FUNC(int, a_func, const char *, const char *);
...
class theTest : public testing::Test
{
public:
   // some variables here
    virtual void SetUp()
    {
        RESET_FAKE(a_func);
        FFF_RESET_HISTORY();
    }

    virtual void TearDown()
    {
    }
};
TEST_F(theTest, theThest_specificTest)
{
    a_func_fake.return_val = 1;  
    int ret = some_func();
    ASSERT_EQ(ret, 0);
}

尤其是当套件名称与测试名称如此相似时。这可能会导致意外错误(这可能是对您的问题的一种解释)。问题似乎不在于我的代码,而在于谷歌测试本身。不过,我还是听从了你的建议,将来不会有问题。