我有一个C ++(VS 2013)控制台应用程序,我想测试它(使用Google Test)。
我创建了一个单独的项目并添加了gtest包含路径等(对于使用本教程http://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php的例子)和这样的简单测试工作正常:
TEST(MyTests, myTest1)
{
EXPECT_EQ(2+2, 4);
}
但是如何使用主项目中的类?如果我只是将项目目录添加到包含路径,那么我可以使用“仅标题”代码,但对于.cpp
中实现的类,我会收到unresolved external symbol
错误。
有没有比将所有类移动到库只是为了能够测试它更好的方法?
答案 0 :(得分:1)
将您的项目作为库。并为启动创建一些可执行文件。这解决了许多问题。有许多项目使用这种策略。其中一个是Chromium。另一个例子是Perl语言解释器。您的项目库很容易链接到测试。