繁体   English   中英

Visual Studio C++:带有谷歌测试的单元测试 exe 项目?

[英]Visual Studio C++: Unit test exe project with google test?

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

这样做的传统方法是什么?

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

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

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

  • 享受。

主要优点是您不接触要测试的项目,也不会将所有源代码包含到测试项目中。

要了解如何为 Visual Studio 执行此操作,您可以查看这篇文章: Linking to multiple.obj for unit testing a console application

将您要测试的功能放入链接到您的测试项目和 MFC 项目的 static 库中,或者将您的文件放入两个项目中。 第一个更复杂,但第二个会导致你编译所有东西两次......

我已经准备了一个 github 存储库,其中包括比利的回答并行的 Visual Studio 2015 解决方案。 您可以直接使用它,而无需任何额外的要求或依赖。

https://github.com/fuatcoskun/GoogleTestVS2015

我希望它有帮助...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM