I was amazed to read that parts of the docs seem more
interesting to review than the code itself. But, yes, it
is true, the macro part *was* a pain. That is the reason
why you should avoid them or be very careful. The
problem with confusing error messages also applies to
templates. If you don't like it, the only possibility is
to avoid both of them or better avoid C/C++ entirely.
Writing manual mocks is the usual case for me as well.
But there are also frequently situations where it is
better to use a framework that covers certain tasks in a
consistent manner.
There is no big use in reinventing wheels, especially if
you have to understand all the other wheels.