boost/test with one file defining the module and including and all others doing:
That let's you have an pure-header testing framework with automatically registered test cases and proper exception support.
I looked at google test (didn't quite look mature yet; required building standalone library for which I'd have to write my own makefiles, exception handling support looked iffy).
Using boost/test with a standalone lib is also a hassle; it probably has faster build times but has the downside that if you support a bunch of platforms or build options then you may need a lots of different lib builds; and that makes installing a new workstation a hassle and portability a hassle in general.
I used google mocking gmock and hippomocks. I definitely prefer hippomocks because you don't have to maintain seperate definitions for mocks. Mock creation is fast and easy but uses strict style.
Why don't you like CppUnit? My team tried CxxTest but the way their isolation framework works imposes the use of the T:: namespace on production code, which is gross.
I'm using CppUnit. It's not great, but what is? CppUTest is easier to use, but not that much easier. With a few vim macros to ease the pain, CppUnit is fine.