使用谷歌测试框架编写单元测试时构造函数和其他成员函数的未解析符号

时间:2017-10-06 11:43:24

标签: c++ visual-studio unit-testing googletest

我的myLib.vcproj中有库说myLib 它有类

namespace mylibtuils{

    struct DefaultHander: IHandler
    {

         DefaultHander():_mV1(0),_mV2(1), _mv3(4){  
         }
         ~DefaultHander(){}
    protected:
         int _mV1,_mV2, _mv3;
         bool _mflag1;
    public:
         void updateSettings(wstring xmlSourceFile);
    };

}

我需要使用谷歌测试框架编写单元测试。所以我创建了另一个项目myLib_UT.vcproj,添加了对gtest和mylib的引用 它有一个简单的代码

GTEST_API_ int main(int argc, char **argv) {
    printf("Running main() from gtest_main.cc\n");
    testing::InitGoogleTest(&argc, argv);
    RUN_ALL_TESTS();
}

TEST(updateSettingstestcase, Positive)
{
    mylibtuils::DefaultHander _handler;

    wstring xmlSourceFile(L"D:\\testfile.xml");
    _handler.updateSettings(xmlSourceFile);
    ASSERT_TRUE(xmlSourceFile != L"");
}

当我构建它时,表示构造函数的未解析符号。

是否无法测试类是否在单独的dll中? 我可以将所有文件添加到我的unittest项目中,但最终会添加myLib所依赖的文件。

请告知我如何解决此问题

0 个答案:

没有答案