Is it really a good idea to bend your code to satisfy your testing environment and not the other way around?
For example, you have a repository for some entity as a dependency of a service and you would like to test some behavior of the service when the repository fails. In this case, the service can depend on an interface of the repository instead and the test can create a stub that implements that interface, whereby you can simulate the error. If the service depended on the actual repository, this becomes very difficult to do.
Can you explain why this is? or maybe more specifically what you mean by this.