【发布时间】:2014-07-14 18:00:22
【问题描述】:
我正在为一个大型 C++ 项目寻找一个模拟框架。我暂时选择了 GoogleTest 作为测试框架,所以我首先查看了 GoogleMocks。然而,后来我发现了 TypeMock 的 Isolator++,它有两个我非常喜欢的特性:
- 它可以模拟任何东西。
- 它允许您在不更改遗留代码的情况下添加测试覆盖率(使用方法调用拦截和其他一些魔法)。无需拼接接口即可添加测试。
缺点是 Isolator++ 是商业产品。我担心供应商锁定等。是否有其他具有相同功能的框架?也许是开源的?
我还要排除我在其他帖子中观察到的一个常见批评:“TypeMock 鼓励糟糕的设计。你应该改进你的设计,而不是使用支持坏习惯的工具。” (我的解释)
我的回答是:我确实想改进设计。我还想在重构之前添加测试覆盖率。为此,零代码更改添加测试的能力非常有吸引力。
【问题讨论】:
-
softwarerecs.stackexchange.com 用于软件(和库)推荐
-
谢谢布莱恩。我在这里反映了这个问题:softwarerecs.stackexchange.com/questions/9830/…。然而,鉴于该网站处于测试阶段,缺乏许多相关标签,每天访问量高达 1300 人,我不确定它会得到多少关注。
标签: c++ unit-testing mocking googlemock typemock