在为未来几年设置C ++unit testing框架的过程中,我们将GoogleTest和CppUnit列入了名单。 我有两个经验,我的重点是GoogleTest。 无论如何说服我的老板,我需要一些事实,所以我做了一些在互联网上阅读,包括手册,维基页面和一些来源。 我想出了一个GoogleTest优势列表和一个CppUnit优势(graphicstesting运行者)。 在这里,他们按照感知的有用性sorting: INSTANTIATE_TEST_CASE_P用任何你想要的参数来实例化一个testing用例,包括笛卡尔积 FRIEND_TESTtesting私人类成员(所有的遗留代码) 把断言变成断点 非致命的断言 “开箱即用”googlemock整合 自动testing检测,不需要枚举它们 testing可以被禁用和启用 可以使用名称模式来select要运行的testing 值/types参数化testing 用户定义的谓词断言 死亡testing 断言更为丰富 键入断言 断言子程序 可以使用<<将更多的debugging信息添加到断言 RecordProperty将最后一个属性值发送到XML输出 SCOPED_TRACE有助于理解来自子例程或循环内部的断言失败的上下文。 xUnit XML输出,可以由Jenkins马上显示,而不需要XSLT转换 支持自定义types打印机 testing指示消耗的时间(我怀疑CppUnit也可以这样做,但我还没有想到) testing事件监听器API(用户定义的插件) testing洗牌 没有例外和RTTI 我是否正确地认为CppUnit不支持上述所有内容? CppUnit中有没有有用的GoogleTestfunction? 最后但并非最不重要的一点是:GoogleTest有什么好的CppUnitfunction? 谢谢!
我知道关于c ++unit testing框架的推荐已经有几个问题,但是所有的答案都没有帮助,因为他们只是推荐一个框架,但是没有提供关于(function)比较的任何信息。 我认为最有趣的框架是CppUnit,Boost和新的Googletesting框架。 有没有人做过比较?