我知道已经有一些关于 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/