我正在评估哪种测试框架对我来说是理想的。
选择权在以下三个方面:google test
,boost.test
和catch
。
我想要一些没有那么多依赖项的健壮的东西,如果需要的话,它能够支持C ++ 14 / C ++ 17。
另一个问题,你知道航空电子/航天领域的大公司使用哪个框架吗?
答案 0 :(得分:6)
我想要一些没有那么多依赖项的健壮的东西,如果需要的话,它能够支持c ++ 14 / c ++ 17。
Google C++ test framework要求提到:
符合C ++ 98标准的编译器
它适用于C ++ 14,我个人使用它。从链接的文档中可以看出它与外部库没有依赖关系(参见 requirements 部分)。
Catch已知限制提及:
我们支持C ++ 98编译器的愿望
它适用于C ++ 14,我个人在工作中的几个项目中使用它。 Catch是一个仅头文件库,它根本没有依赖关系。
Boost C ++库通常执行编译器支持标准的编译时检测,并根据结果启用/禁用功能。
根据经验,这些库通常依赖于从Boost本身获取的其他库。
你知道航空电子/航天领域的大公司使用哪个框架吗?
它们通常不仅需要编写测试,还需要进行代码覆盖率估算。有很多专业工具,其中很少是免费的(至少,只要我知道),事实并非如此。