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

时间:2017-03-06 09:09:44

标签: c++ unit-testing testing frameworks tdd

我正在评估哪种测试框架对我来说是理想的。 选择权在以下三个方面:google testboost.testcatch

我想要一些没有那么多依赖项的健壮的东西,如果需要的话,它能够支持C ++ 14 / C ++ 17。

另一个问题,你知道航空电子/航天领域的大公司使用哪个框架吗?

1 个答案:

答案 0 :(得分:6)

  

我想要一些没有那么多依赖项的健壮的东西,如果需要的话,它能够支持c ++ 14 / c ++ 17。

Google C++ test framework要求提到:

  

符合C ++ 98标准的编译器

它适用于C ++ 14,我个人使用它。从链接的文档中可以看出它与外部库没有依赖关系(参见 requirements 部分)。

Catch已知限制提及:

  

我们支持C ++ 98编译器的愿望

它适用于C ++ 14,我个人在工作中的几个项目中使用它。 Catch是一个仅头文件库,它根本没有依赖关系。

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

  

你知道航空电子/航天领域的大公司使用哪个框架吗?

它们通常不仅需要编写测试,还需要进行代码覆盖率估算。有很多专业工具,其中很少是免费的(至少,只要我知道),事实并非如此。