V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leimao
V2EX  ›  C++

C++ Test Framework Catch2 VS GoogleTest

  •  
  •   leimao ·
    leimao · 2020-08-06 10:54:32 +08:00 · 3363 次点击
    这是一个创建于 1588 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    3 条回复    2020-08-22 23:56:03 +08:00
    GeruzoniAnsasu
        1
    GeruzoniAnsasu  
       2020-08-06 11:35:04 +08:00
    项目里两个都有用到

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

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

    推荐无状态的随时重入的代码 catch2,更重业务因果逻辑和时序很复杂的测试上 google test
    poringking
        2
    poringking  
       2020-08-22 18:57:27 +08:00
    catch2 编译太慢了,doctest 速度快很多
    leimao
        3
    leimao  
    OP
       2020-08-22 23:56:03 +08:00
    @poringking 只 build 一次,然后所有 test link 就行了,不慢的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.