I’m new to mock objects, but I understand that I need to have my classes implement interfaces in order to mock them.
The problem I’m having is that in my data access layer, I want to have static methods, but I can’t put a static method in an interface.
What’s the best way around this? Should I just use instance methods (which seems wrong) or is there another solution?
I would use a method object pattern. Have a static instance of this, and call it in the static method. It should be possible to subclass for testing, depending on your mocking framework.
i.e. in your class with the static method have:
and your method object can be a very simple, easily-tested: