Dependency injection versus mock