Last week I closed one little circle in my consulting life: The company I work at released Isolator++ – a truly powerful, and yet simple, Isolation framework for C++, that makes unit testing in C++ feel as easy as unit testing in .NET or Java.
It can Isolate statics, non virtuals, future objects and lots of other cool things (the private beta we have also fakes OUT and REF parameters. if you’re interested ping me..)
It closed a circle for me because a few years ago, I was consulting for a large company in Israel, and the person who brought me into that company was Typemock’s Founder, Eli.
Together we tried to help the “masses” learn Test Driven Development and unit testing in 3 languages. Java, C++ and .NET. Java went great, .NET a little less great, and C++ – failure.
Back then I wished for a tool that could have done in C++ what Isolator++ does now – surpass design issues that lead to untestable code, and help people learn the value of unit tests, without boggling them down with design problems. I wanted them to learn design in separation of unit testing, but there was no way around it.
Most people (in C++) just gave up on the huge learning and refactoring work that needed to be done and dropped unit testing and TDD completely.
Last week that circle closed, as I helped drive the release of a tool that would solve this problem for me, and for them, the next time we enter a C++ team that wants to learn TDD and unit testing.
Now I’ll have a clear learning schedule in mind: first, learn unit testing, and get some benefits, to get some management buy in to your efforts. then learn TDD, and through that learn better design techniques.
Getting all three of these together at the same time is just too damn time consuming for most companies.
If you work at a windows C++ shop, or you know people who do, and want to give unit testing a try, I heartily recommend you give Isolator++ a try.