Testing for Error Cases
Our application design allows us multiple ways to simulate errors for testing purposes:
-
We can make an API call to the actual service that results in an error and capture the result using VCR. We can use this approach in an integration or adapter test.
-
We can stub a method thatâs internal to the adapter. For example, we can stub the client method to return a double that simulates an API error. Weâd use this in an adapter test.
-
We can stub the adapter to return an unexpected value in a client test.
Which approach you choose depends on the details of the library youâre working with. Often, stubbing the external service makes sense for the same reason that stubbing ActiveRecord methods doesâcrafting a call that will ...
Get Rails 4 Test Prescriptions now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.