windows上安装gtest、gtest使用和了解实现内部的过程
发布日期:2021-05-07 16:07:31 浏览次数:23 分类:精选文章

本文共 745 字,大约阅读时间需要 2 分钟。

刚回到实习公司,任务尚未下放,恰好公司使用的是Google测试框架,打算学习这个框架的使用。刚开始接触,遇到了一些问题需要解决。

在编译过程中,首先需要下载适用于Windows的msvc工具,或者通过cmake生成sln文件。如果cmake设置不当,可以尝试手动构建,生成release版本或debug版本的库。在实际操作中,由于对tr1库的处理不熟悉,出现了tr1报出异常的问题。通过定义#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1,可以暂时屏蔽这些警告信息。

在解决线程库问题时,由于对gtest内部线程实现不太了解,遇到了库文件路径配置上的困难。通过仔细查看图中库文件的路径,确认了debug库和release库的区别,最终成功配置了线程库的使用。

关于测试宏的理解,发现ASSERT_*宏用于测试中断,若TEST宏内的某些操作失败,会直接退出当前函数;而EXCEPT_*则允许在测试失败时继续执行后续代码。这点需要特别注意,尤其是在测试异常情况时。

在编写gtest测试用例时,需要注意以下几点:首先确保在VS中正确添加了gtest相关头文件的路径;其次,理解TEST_F宏的使用方法,第一个参数需为继承自testing::Test的类,gtest会自动创建对象,并调用SetUp和TearDown方法。最后,避免测试名称重复,可以通过自定义宏来解决。

通过实践发现,自定义宏时使用##拼接字符串的方式可灵活处理测试名称,不同数量的##会影响结果,建议至少使用两个##,以避免命名冲突。

最后,确保项目中所有依赖项均已添加到VS的项目配置中,包括头文件和库文件的路径。通过以上方法,可以顺利使用gtest框架进行测试开发。

上一篇:C++ unique_ptr解惑篇
下一篇:C++实现一颗前缀树

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月01日 09时44分19秒