c++ - VC++ VS 2013,如何使用(测试)来自另一个项目的类?

标签 c++ visual-studio visual-c++ visual-studio-2013 googletest

我有一个 C++ (VS 2013) 控制台应用程序,我想测试它(使用 Google Test)。

我创建了一个单独的项目并添加了 gtest include 路径等(例如使用本教程 http://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php),像这样的简单测试工作正常:

TEST(MyTests, myTest1)
{
    EXPECT_EQ(2+2, 4);
}

但是如何使用主项目中的类呢?如果我简单地添加项目目录以包含路径,那么我可以使用“仅 header ”代码,但对于在 .cpp 中实现的类,我会收到 unresolved external symbol 错误。

除了将所有类移动到一个库中以便能够对其进行测试之外,还有什么更好的方法吗?

最佳答案

将您的项目设为库。并使启动时几乎没有可执行文件。这解决了很多问题。有很多项目使用这种策略。其中之一是 Chromium。另一个例子是 Perl 语言解释器。您的项目库将很容易链接到测试。

关于c++ - VC++ VS 2013,如何使用(测试)来自另一个项目的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509187/

相关文章:

c++ - Windows/C++ : why are loaded module memory bytes changing at run-time?

c++ - Skia SkCanvas不能用SkBitmap构造

visual-studio - Umbraco 开发设置 Visual Studio

vb.net - 关于 Visual Studio 2019 中没有引用的函数呈灰色显示的几个简单问题?

c++ - C++11 中友元模板类的 Visual C++ 错误

c++ - 通过 return const 而不是函数重载?

C++ 内联命名空间是否隐式内联其函数?

c++ - 为什么原生 C++ 项目有 TargetFrameworkVersion?

c++ - ReadProcessMemory 向后读取内存?

c++ - 访问 std::string 中的空终止符(字符串下标超出范围)