V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
leimao
V2EX  ›  C++

C++ Test Framework Catch2 VS GoogleTest

  •  
  •   leimao ·
    leimao · Aug 6, 2020 · 4324 views
    This topic created in 2101 days ago, the information mentioned may be changed or developed.

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

    3 replies    2020-08-22 23:56:03 +08:00
    GeruzoniAnsasu
        1
    GeruzoniAnsasu  
       Aug 6, 2020
    项目里两个都有用到

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

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

    推荐无状态的随时重入的代码 catch2,更重业务因果逻辑和时序很复杂的测试上 google test
    poringking
        2
    poringking  
       Aug 22, 2020
    catch2 编译太慢了,doctest 速度快很多
    leimao
        3
    leimao  
    OP
       Aug 22, 2020
    @poringking 只 build 一次,然后所有 test link 就行了,不慢的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5515 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 01:25 · PVG 09:25 · LAX 18:25 · JFK 21:25
    ♥ Do have faith in what you're doing.