Visual Studio C++:使用google测试的单元测试exe项目?

Use*_*ser 7 c++ unit-testing googletest visual-studio visual-c++

使用Visual Studio 2010 C++.我正在尝试进行单元测试,并决定尝试使用Google Test(gtest).我有一个现有的项目编译成MFC可执行文件(我也对如何测试编译为DLL的项目感兴趣).我对单元测试约定的理解是你应该为你的测试创建一个新的独立项目.所以我在同一个解决方案中为我的单元测试创​​建了一个新项目.但是我如何链接项目?我可以从我的测试项目中测试我的exe项目的任意函数/方法吗?

这样做的常规方法是什么?

tou*_*ssa 9

我认为组织单一测试的最佳方法是:

  • 不要改变你的主项目.结构应独立于您的测试操作.在我看来,将项目更改为大型静态库和可执行文件实际上并不优雅.相反,添加一个post构建操作以将所有obj文件聚合到一个静态lib文件中,该文件仅由测试项目使用.

  • 创建一个简单的测试项目,链接到您的测试框架和您之前生成的静态库.

  • 请享用.

主要优点是您不要触摸要测试的项目,也不要将所有源代码包含在测试项目中.

要了解如何为visual studio执行此操作,您可以看到以下帖子: 链接到多个.obj以便对控制台应用程序进行单元测试


Bil*_*eal 6

将要测试的功能放入静态库中,该库链接到测试项目和MFC项目,或者将文件放在两个项目中.第一个更复杂,但第二个会导致你编译两次....