c++ - C++单元测试框架比较

我知道已经有一些关于 C++ 单元测试框架推荐的问题,但所有答案都没有帮助,因为他们只是推荐了其中一个框架,但没有提供任何关于(功能)比较的信息。

我认为最有趣的框架是 CppUnit、Boost 和新的 Google 测试框架。有人做过比较吗?

最佳答案

一个新玩家是Google Test (也称为 Google C++ 测试框架),虽然非常好。

#include <gtest/gtest.h>

TEST(MyTestSuitName, MyTestCaseName) {
    int actual = 1;
    EXPECT_GT(actual, 0);
    EXPECT_EQ(1, actual) << "Should be equal to one";
}

主要特点:

  • 便携
  • 致命和非致命断言
  • 简单的断言信息丰富的消息:ASSERT_EQ(5, Foo(i)) << " where i = " << i;
  • Google Test 自动检测您的测试,并且不需要您枚举它们即可运行它们
  • 轻松扩展您的断言词汇
  • 死亡测试(参见高级指南)
  • SCOPED_TRACE for 子程序循环
  • 您可以决定运行哪些测试
  • XML测试报告生成
  • 夹具/模拟/模板...

https://stackoverflow.com/questions/242926/

相关文章:

c++ - 单引号在 C++ 中用于多个字符时有什么作用?

c++ - 用 C 或 C++ 为 Android 编写应用程序?

c++ - 在 C 中使用移位运算符进行乘法和除法实际上更快吗?

c++ - 在现代 C++11/C++14/C++17 和 future 的 C++20 中枚举到字

c++ - C/C++ 中字符的大小 ('a' )

c++ - 为什么 C++ 编译器不定义 operator== 和 operator!=?

c++ - 使用字符串分隔符(标准 C++)在 C++ 中解析(拆分)字符串

c++ - 如何实现 STL 风格的迭代器并避免常见的陷阱?

c++ - 我可以使用 break 退出多个嵌套的 'for' 循环吗?

c++ - 将二维数组传递给 C++ 函数