Stubbing methods so that they throw exceptions
In this recipe, we will stub a method that returns a value so that it throws an exception. Since we want our code to be beautiful, we'll use the catch-exception
library to catch and check the exceptions thrown in our system.
Getting ready
Ensure that you have the catch-exception
library on your classpath; refer to the Stubbing methods so that they throw exceptions recipe of Chapter 4, Stubbing Behavior of Mocks, for details on how to add catch-exception
to your project.
This recipe will reuse the example from the previous recipe. We have a class that calculates an average value of tax factors (AverageTaxFactorCalculator
) and TaxFactorFetcher
is the provider of those values. One of the values is picked from the database (and we'll stub that method). We will test those two classes as a unit. For your convenience (so that you don't scroll around the book too much), I'm showing you the classes here (don't worry, they're really small):
public class AverageTaxFactorCalculator...