Typemock 发布了 Isolator++ 更新,支持测试为 Windows 平台编写的 64 位 C/C++ 代码,还支持测试最初编写时没有考虑测试的遗留代码。它支持使用宏来修改所测方法的行为。Isolator++ 是面向 C/C++ 的的模拟框架(Mocking Framework),支持开发者对方法调用和依赖参数施加断言,它还引入了一种机制,支持模拟函数以及模拟通过引用来返回值。
它集成了 AQTime 、 SoftwareVerify 和 BullsEye 等工具,兼容诸如 CppUnit 、 UnitTest++ 和 GoogleTest Boost 等测试运行器框架。
为了解这次更新带来的更多益处,InfoQ 采访了 TypeMock 的产品经理 Gil Zilberfeld。
支持64位,这一特性为开发者带来了什么益处?有实际意义吗?
有些开发者只使用 64 位环境。如果没有 64 位支持,开发者就要在 32 位环境中测试。而这样的测试不能提供系统的“真正”行为,所以是否能反映真实条件,并不能让人十分信服。现在 Isolator 支持 64 位了,测试可以运行在与产品相同的环境中。这样的结果是可信的,不用再猜测测试能否反映或者只能部分反映真实环境。在知道一切都能在原生 64 位环境下正常工作的条件下,开发者现在就可以重构代码,并将其置于测试之下了。
**Typemock Isolator++**有什么特性?
Typemock Isolator++ 是一个完整的模拟框架,面向 Windows 上的 C 和 C++。它支持 Visual Studio 2005,同时支持 32 位和 64 位环境。它可以模拟各种函数调用,包括实例函数或静态函数、全局函数、私有和公有函数,以及虚函数和非虚函数。它可以伪造(fake)一个对象或类型上的所有方法,也可以只伪造某些方法,而将其他方法交给真正的实现。它可以对方法调用施加断言,可以计算这些函数的被调用次数。还可以模拟通过引用返回的参数。这一切都不需要修改所测代码,也不需要为测试进行专门的准备。
**Typemock Isolator++**是否改进了开发者的生产效率?
因为 Isolator++ 支持为“不可测代码”编写测试,所有我们现在能够调试单元测试,这比调试整个应用要快。我们可以测试不好测的场景(例如,需要修改计算机时钟的场景,现在可以在代码中完成)。我们能够知道代码修改何时破坏了功能。我们在一个本来会使工作变慢的环境中得到了全面的生产效率提升。
Typemock Isolator++支持C#和VB.NET**** 吗?
不支持。Isolator++ 仅支持 C 和 C++。对于托管的.NET 语言,我们有面向.NET 的 Isolator,它并不是单纯的“模拟一切”的框架,同时还集 SmartRunner、覆盖可视化、测试代码完成和测试规则集于一身。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论