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

标签 c++ unit-testing cppunit googletest boost-test

我知道已经有一些关于 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测试报告生成
  • 夹具/模拟/模板...

关于c++ - C++单元测试框架比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242926/

相关文章:

c++ - 如何使用 Visual Studio CppUnitTestFramework 初始化测试变量

带有两个参数的 C++ CPPUNIT_ASSERT

c++ - Class中的Const Static Function Pointer~如何初始化呢?

java - 如何使用默认构造函数伪造 InitialContext

java - 单元测试双向转换器

java - 对于 Double 列表重写 equals() 和 hashCode() 的问题

c++ - '_Unwind_GetIPInfo' 符号

c++ - 在 Windows 上设置编译器路径

c++ - 具有私有(private)成员的结构的构造函数

c++ - 在类构造函数中使用vector时发生运行时错误?