text: Title: Question on testing with python-dependency-injector
  Body: Hello and thank you for such a great library.
  
  I have a question regarding of how to test application, that uses python-dependency-injector library.
  
  Lets take simple usecase:
  
  ```
  class EmailSender:
      def send(self, email):
          pass
  
  class SmtpEmailSender:
      # implementation with use of smpt library
  
  class EchoingEmailSender:
      # logging / printing to stdout implementation
  
  def notify_users(email_sender, email):
      email_sender.send(email)
  ```
  
  In production i want to use SmtpEmailSender, but in tests only EchoingEmailSender.
  I have configured a container which provides me with production-ready class of EmailSender and using it like:
  
  ```
  Services.notify_users(email)
  ```
  So, notify_users get production-ready dependency injected.
  
  So the question is: how do i switch implementation in tests?
  Surely i can override this specific dependency, and it will work okay, but what if i have 10 containers with different providers, that is used by application, should i override them in every test i write?
  I think it can become an error-prone approach.
  
  Thanks.