After doing some research on unit testing frameworks for my ESMS project, I settled on cxxtext. Its advantage is that it's lightweight (an independent set of ISO-C++ header files), is easy to learn and set-up, has all the features I need, and doesn't complicate simple things too much (see cppUnit for that).

It actually uses a Perl script to preprocess the test-suite header file, creating the test-suite runner from it, thus solving a lot of problems people use crazy C++ tricks to go around in other frameworks.