C++ Test Framework Catch2 VS GoogleTest

2020 年 8 月 6 日
 leimao

哪个和 CMake 还有 Bazel 用起来舒服一些?各自的优缺点又有哪些?

4424 次点击
所在节点    C++
3 条回复
GeruzoniAnsasu
2020 年 8 月 6 日
项目里两个都有用到

google test 比较重,功能全,尤其是要 mock 数据时有不少支持特性

catch2 只需要一个头文件,随便复制粘贴一个都能用甚至都无需考虑项目结构和 cmake,随手写一个单测时没有负担(比如你正在写一个 lib 里的小组件想有个 main 函数来 load 一下,用 catch2 甚至比写一个新 loader 程序还快)

推荐无状态的随时重入的代码 catch2,更重业务因果逻辑和时序很复杂的测试上 google test
poringking
2020 年 8 月 22 日
catch2 编译太慢了,doctest 速度快很多
leimao
2020 年 8 月 22 日
@poringking 只 build 一次,然后所有 test link 就行了,不慢的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/696071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX