单元测试,一直用的是googletest,使用时只需要下载源码编译出库,在测试工程中引用即可,googletest提供了很多宏来让我们很轻松的组织测试用例。而Catch2比googletest使用更简单,源码就一个头文件,使用时只需要将Catch2.hpp引用到工程中即可,基本的测试用例组织方法与googletest相似;对于测试工具,个人认为Catch提供的TEST_CASE+SECTION更简单。

 

1、googletest

GoogleTest框架开发过程几乎覆盖C++核心知识,是新手锻炼C++开发能力最好的项目!

https://github.com/google/googletest

https://github.com/nholthaus/gtest-runner

 

2、Catch2

https://github.com/catchorg/Catch2

 

3、googletest和Catch2两者的详细比较

Catch2有以下这些优势:

  • 简单易用:只需要下载catch.hpp,包含到你的工程就可以了
  • 不依赖外部库:只要你可以编译C++11,有C++的标准库就可以了
  • 测试case可以分割为sections: 每个setcion都是独立的运行单元
  • 提供了BDD式的测试模式:可以使用Given-When-Then section来做BDD测试
  • 只用一个核心的assertion宏来做比较。用标准的C++运算符来做比较,但是可以分解表达式,记录表达式等号左侧和右侧的值
  • 可以用任何形式的字符串给测试命名,不用担心名字是否合法

https://blog.csdn.net/wanywhn/article/details/83655406

https://blog.csdn.net/weixin_42981623/article/details/106886084

 

4、Qt Test

https://doc.qt.io/qt-5/qttest-index.html

https://doc.qt.io/qt-5/qsignalspy.html

 

5、Qt Test学习教程

Qt程序单元测试学习记录 : 上

https://beondxin.blog.csdn.net/article/details/107298088

Qt程序单元测试学习记录 :中

https://beondxin.blog.csdn.net/article/details/107893280

Qt程序单元测试学习记录 :下

https://beondxin.blog.csdn.net/article/details/107893292

 

 

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐