1

将 Visual Studio 2010 C++ 与 googletest 结合使用。我是单元测试的新手,我已经创建了一个测试解决方案来试验它。我在解决方案中有三个项目:

HelloService (static lib)
HelloService.Tests (exe, a console app I think, linked with gmock_main.lib)
HelloApp (MFC exe, my main app)

我已将 googletest(和 googlemock)编译链接并成功运行。我的问题是代码测试开发周期。我试图通过测试了解正确的工作流程。目前,如果我将 HelloService.Tests 设置为“启动项目”,那么当我按 F5 时测试运行,但我的 HelloApp 没有。如果我将 HelloApp 设置为启动项目,那么当我按下 F5 时,我的应用程序会运行,但我的测试不会。

我认为我希望我的“HelloApp”作为启动项目,但我的测试在我构建它和运行它之前运行。是对的吗?我该如何设置它来做到这一点?

4

2 回答 2

0

我的解决方案是将 HelloApp 设置为 StartUp 项目,然后右键单击 HelloApp 项目并选择“Project Dependencies...”,然后检查 HelloService.Tests 项目(已经检查了 HelloService 项目)。现在,当我按 F5 时,测试项目开始运行(因为 HelloService.Tests 已经有一个构建后事件可以自行运行)

我唯一担心的是创建项目依赖项是否会创建某种代码依赖项。我的猜测是它没有,但我想确定。

于 2011-06-29T17:41:44.927 回答
0

您可以在测试项目上设置构建后事件以运行测试可执行文件。然后,将测试项目添加为主应用程序的依赖项将在每次构建时自动运行测试。这确实意味着如果任何测试失败,构建将失败。由您决定是继续运行应用程序还是先修复失败的测试。

于 2011-06-29T18:11:52.417 回答