I was always using JMock, but maybe even this is not a good excuse… 🙂
…Acctually JMock was always a bit more dogmatic than other frameworks, so maybe it does not support it…
I guess they use the rule: mock or stub only classes or interfaces you own

But when I think about it – it doesn’t make sense when you test boundaries of your system – interactions with external modules or systems…

Either way I discovered it so late… that maybe I should be ashamed, instead posting it on my blog…
Anyway, if there is at least one person who learns form it I think it was worth it! 🙂

Actually, I’ve kind of been wondering about this issue. For example, in Michael Feathers’ “Working Effectively With Legacy Code”, he does a lot Extract Interface refactorings, to bring classes under test. Now that you can mock concrete classes, this isn’t necessary, but is it better? Was introducing all those interfaces a good design approach? Maybe not, but maybe if your mocking framework is too powerful, then your design can be sloppier?

I guess we were talking about different things. I know that frameworks like JMock can mock classes instead of interfaces and they use CGLIB for that.
I was talking about stubbing some functionality without implementing the whole complex interface like in HttpServletRequest.