Typemock's Isolator++ unit testing solution now supports both 32- and 64-bit C/C++ code written on Windows, including legacy code not originally written to be tested.
The Isolator++ "mocking framework" uses macros in order to change the behavior of methods under test. It also enables asserting method calls and parameters on dependencies when it is not possible to test for return values and/or state change.
As Typemock correctly points out in the case of C/C++ systems, testing means running tests on the entire bulk of code, which would incur prohibitive costs. In addition, setting up tests is complex and slow since they run on the database and there are always high risks of introducing new bugs to the system when changing the code, as there are no good re-factoring tools for C/C++.
Many functions in C/C++ don't just return values, but also use parameters that are passed by reference to return values. Isolator++ can mock the functions and simulate returning values by reference, as if the code actually ran and returned them.
This tool integrates with three coverage tools: AQTime, SoftwareVerify, and BullsEye coverage, and it is compatible with all testing frameworks and all continuous integration tools.
"Programmers can choose to work with either the 32- or 64-bit library depending on their code. This release is game changer for companies with C/C++ code", said Eli Lopian, founder of Typemock.
"Many established enterprises have software that was written in C/C++ specifically due to its stability and robustness. We see large companies in highly-regulated industries (such as banking, insurance, medical, automotive, and defense) that run into serious quality and budget issues when they need to introduce changes into their existing software. For these companies, throwing away old code and writing new code is not a viable option. The code must be tested and mocked, and Isolator++ is currently the only framework that can do it."