c++ - google test/mock vs boost vs catch 对 c++14/c++17 的支持

标签 c++ unit-testing testing frameworks tdd

<分区>

我正在评估哪种测试框架最适合我。 在这三个选项中选择:google testboost.testcatch

我想要一些健壮的东西,它没有那么多依赖性,并且能够在需要时支持 C++14/C++17。

还有一个问题,你知道航电/航天领域的大公司用的是什么框架吗?

最佳答案

I would like something robust that has not so many dependencies and that is able to support c++14/c++17 if needed.

Google C++ test framework要求提及:

A C++98-standard-compliant compiler

它在 C++14 上工作得很好,我个人使用它。从链接的文档中,您可以看到它不依赖于外部库(请参阅要求部分)。

Catch已知限制提及:

our desire to support C++98 compilers

它在 C++14 上工作得很好,我个人在工作中的几个项目中使用过它。 Catch 是一个只有头文件的库,它完全没有依赖性。

Boost C++ 库通常执行编译时检测编译器对标准的支持,并根据结果启用/禁用功能。
根据经验,这些库通常依赖于从 Boost 本身获取的一些其他库。

do you know which framework big companies in the avionics/space fields use?

通常他们不仅需要编写测试,还需要进行代码覆盖率估计。有很多专业工具,其中很少有免费的,而且(至少,据我所知)不存在事实上的标准。

关于c++ - google test/mock vs boost vs catch 对 c++14/c++17 的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42621549/

相关文章:

c++ - 如何确保 `waitpid(-1, &stat, WNOHANG)` 收集所有子进程

c++ - 通过继承与对象引用的回调

c++ - 为 gmock 自动生成模拟类

javascript - 在 Jest 中使用 'new' 关键字模拟外部服务

c# - 如何测试使用 BackgroundWorker 加载的 ViewModel?

c++ - 使用 stringstream 从混合字符串中提取数字

C++ 检查两个字符串内容效率

Django 单元测试 : South-migrated DB works in MySQL, 在 PostGreSQL 中抛出重复的 PK 错误。我错过了什么还是这是一个错误?

python - 如何仅在测试类而不是单元测试用例中模拟函数

testing - 在不打开浏览器的情况下使用 chromeDriver 运行 Geb 测试