After some time thinking about and rewriting the library in a subtly
different approaches, CL-MOCK
now
looks good to me as a version one.
I've removed all mentions of generic functions for now, as first of all
I'm unsure if functionality to dynamically rebind methods is even
necessary, and second, because doing that is complicated by the details
of that protocol. Which means that specifying which method to override
is a bit hairy and I really want a good syntax before I let that stuff
loose. So it'll have to wait until I figure out a good way to do that.
Since it should be easily added to the existing frontend, it will very
probably be done with some overloading of existing functions / macros
(e.g. with a :method
specifier or so).
I'm hoping to test all of this and possibly investigate the generic
function issue on some other library. At the moment my single more
complex example is a replacement for the
DRAKMA
HTTP-REQUEST
call, which
worked surprisingly well and might even make it into a new test suite.
The benefit is obviously the improved reliability of not having to have
a running network connection for testing libraries against a (HTTP)
server.