I will start with some more post about TypeMock and Testability issue.
- Mocking with TypeMock – Travis Illig
Holy crap, this thing is hot. In technical terms, you might call it the bomb-diggity.
I haven’t been this stoked about a technology for quite some time.
- TypeMock is wonderful – Ken Robertson
TypeMock is absolutely awesome. No, no, it is sexy. It is dead sexy. TypeMock has opened up a whole new world for me in unit tests.
- Some general thoughts & mocking frameworks – Miki Watts
Sorry, Travis, no offense, but when you wrote this you showed that you still don’t get the idea of unit testing and the benefits that come from them…
Question to Miki:
Is the ‘pass the interface into the method’ really a better design? Think about it for a moment. You now require the WorkingClass to know about an interface that he doesn’t really need to know about. So you are actually lowering the cohesion (by having a less encapsulated system) in order to have a lower coupled system. This is what design is all about – balance, there is no silver bullet.
So is the design balanced? or do we blindly always strive to have lower coupled system at the price of other object oriented practices?
ps. I know that you can have a design the has both options and have the WorkingClass use only methods that do not require the interface, but then you are really dirtying the code just for the tests.