Testing External Services

testing external services

There seems to have been a lot of talk around me lately in relation to “dev boxes” and “testing on staging”.

After unsuccessfully trying to convince folks of why I think this is a bad idea from both an engineering and business perspective I decided it was time to talk code.

In this repository I am hoping to show:

  • How an external service calls can be properly encapsulated
  • How different tests can be used to achieve different outcomes:
    • Testing only the local package code in complete isolation from the external service
    • Testing the external service fulfils expectations
    • Testing the local package code handles external service failures (without needing to orchestrate the external service)
  • How all of the above test types can be easily automated in order to prevent regression (for your service and the external service)
  • How providing mocks from a package can help the users of the package test how their code interacts with your package

Enjoy!


If you like this content and would like to be notified when there are new posts or would like to be kept informed regarding the upcoming book launch, please join my Google Group (very low traffic and no spam).