如何在 Xcode 4.6 中使用 googletest 实现 c++ 单元测试?

Posted

技术标签:

【中文标题】如何在 Xcode 4.6 中使用 googletest 实现 c++ 单元测试?【英文标题】:How do I implement c++ unit testing with googletest in Xcode 4.6? 【发布时间】:2013-09-04 00:33:35 【问题描述】:

我正在努力使用 googletest 为 Xcode 4.6 设置 C++ 单元测试。下载 googletest 附带的说明是 2008 年编写的,与当前的 Xcode 界面不对应。我认为我得到了 googletest 来编译(这不是微不足道的),但现在我在遵循 this 教程以使单元测试工作时遇到问题。如何在 Xcode 4.6 中使用 googletest 实现单元测试?

【问题讨论】:

你试过什么?什么是错误?添加更多细节。事实上,这个问题是一个完美的候选人,因为过于宽泛而被关闭 这可能对你有帮助***.com/questions/12147000/… 【参考方案1】:

当你已经有了 gtest 框架来编译它实际上不再那么难了。

使用此处描述的宏编写测试用例:https://github.com/google/googletest/blob/master/docs/primer.md#simple-tests

然后运行所有测试:

#include "gtest/gtest.h"
int main(int argc, const char * argv[])

    testing::InitGoogleTest(&argc, (char**)argv);
    return RUN_ALL_TESTS();

我为单元测试创​​建了一个单独的构建目标,这是实际的 main.cpp 这适用于我使用当前的 Xcode 版本 (4.6.3)

【讨论】:

我要到星期一才能对此进行测试,但是由于赏金将在两个小时内用完并且没有其他人回答,我现在就接受您的回答。感谢您的帮助! 如果您需要,我可以给您发送一个演示项目,其中所有设置都可以在周一工作 @MeXx :嗨,如果演示项目仍然可用,我可以得到它吗...?非常感谢。 @MeXx 我已经构建了库,但我找不到它在我的机器上的位置,因此我可以将我的项目与它链接起来。 gtest.framework 构建后在哪里结束?我关注了这些视频 [youtube.com/watch?v=RWnoYdxTtL4],当他构建 gtest 项目时,项目根目录中会出现一个构建目录,但对我来说并非如此。 @ddelnano 这取决于您的 Xcode 的设置方式,您可以在设置中更改构建位置。或者您可以在 Xcode Project Navigator 中的“Products”组下查看。您应该在那里看到 gtest.framework。右键单击它,“在 Finder 中显示”就可以了。

以上是关于如何在 Xcode 4.6 中使用 googletest 实现 c++ 单元测试?的主要内容,如果未能解决你的问题,请参考以下文章

在 5.0 中打开后无法在 Xcode 4.6 中打开项目

Xcode 命令行工具 (XCode 4.6) 从终端运行单元测试

Xcode 4.6 失败,退出代码为 255

Xcode 4.6 可以在 Yosemite 上运行吗?

针对 XCode 4.6 下的 iOS 4.x 设备

Interface Builder 的“模拟界面”在 xcode 4.6 中消失了吗?