Microsoft Visual C++ 6.0的单元测试框架

3
有没有适用于Microsoft Visual C++ 6.0的单元测试框架?

1
我强烈建议您使用过去十年中发布的编译器/集成开发环境。 - Terry Mahaffey
@TerryMahaffey:这可能与遗留代码有关。我偶然发现了这个问题,因为我被要求支持一个使用MFC和msvc6.0编写的大型代码库。我们的想法是按照您所说的使用现代编译器,但一些单元测试来覆盖功能将让我对未来更有信心。这是《与遗留代码有效工作》中的第一个建议。 - Isaac Nequittepas
4个回答

2
我不是C++程序员,但我认为CppUnit可以解决问题。我相信还有其他选择。

1

您可以阅读这篇文章,了解所有C++单元测试框架的列表,并检查哪个与VS6.0兼容。


1

Phil Nash的Catch测试框架有一个VC6端口

Catch很容易上手,因为它被打包成一个单一的头文件,并且除了C++标准库之外没有外部依赖项。

测试用例编写为自注册函数或方法,可选地分为多个部分。Catch仅需要一个核心断言宏进行比较,使用标准C运算符进行比较-但分解完整表达式并记录lhs和rhs值。


我还有一个 C++98/03 变体的 lest 头文件测试框架,可以与 VC6 一起使用:lest_cpp03.hpp。lest 受 Catch 的启发,也具有函数级别的固定装置表达式分解断言宏 - Martin Moene

0

CppUnit需要比必要更多的工作,特别是创建新测试用例所需的工作。原作者Michael Feathers发布了一个简化的框架,已被用作其他框架的基础。我使用过UnitTest ++,并且非常感兴趣googletest。任何一个都可以让您创建一个新的测试用例,而无需声明它并手动将其添加到套件中;框架会为您完成这些操作。


1
Google Test官方不支持VC++6。2009年,需要2182行代码更改才能使用较少的功能和/或语法更改。 - Afriza N. Arief
UnitTest++现在已经在GitHub上了,详情请见unittest-cpp - Martin Moene

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接