我为我的C++代码使用Boost Test框架,但它有两个问题,可能是所有C++测试框架都常见的:
有没有人知道更好的测试框架,还是我永远不会嫉妒Java/.NET开发人员可用的测试工具?
用于C++语言的单元测试最现代的方法是什么?具有更大内省能力的语言类(如Python)具有单元测试框架,这些框架在某种程度上更自然地使用.可以更容易地定义单元测试.相比之下,经典CppUnit(基于 JUnit)似乎采取非常保守的方法.是否有更新更好的东西使用C++(甚至C++ 11)的特定功能来让生活更轻松?
CppUnit对于Windows原生C++(Visual Studio 2005和2010)上的项目部分,我一直以相当简单的方式使用框架.我们之前没有选择测试驱动开发方法,因为已经有很多遗留代码,我们发现很难为它添加测试.我们不得不重构应用程序,但即使在这种情况下,添加所有不错的测试也会非常耗时.
最近,我们已经切换到Visual Studio 2013(因为C++ 11标准实现),我们将开始新的,而不是长期的项目.
拥有以前在单元测试方面的良好(小)经验,我想尝试测试驱动开发方法.由于项目不是很小(预期大小与旧版本大致相同,即大约200 k行代码),我更喜欢更容易(但能力不强)的框架.
新项目有可能导致跨平台实施(Windows和Linux).Visual Studio 2013中有一个单元测试支持,但我没有它的经验,它如何适应跨平台.
到目前为止,我已经找到了C++的单元测试框架列表.然而,人们无法看出它们在原理上有何不同.我目前有三个候选人(保守选择):
CppUnit.无论如何,似乎三者都使用类似的方法.可能VS2013支持生成代码,但这并不意味着它会导致更简单的任何问题.
有没有全新的方法?