Faking Interfaces

If your code is already decoupled, and interfaces are used instead of classes as arguments, you can fake interfaces using the same APIs. You will get the same robustness because that fake interfaces will return recursive fakes.