Creating spies using annotations
As usual, Mockito offers you the chance to remove a number of lines of code to make your tests more readable and clear. In this recipe, we will remove unnecessary code and convert it into annotations. As a reminder, you should have very legitimate reasons to use a spy in your code. Otherwise, it most likely signifies that there is something wrong with the design of your code.
Getting ready
For this recipe, we will reuse the example from the previous recipe. However, let's take another look at it. Our system under test for this recipe will be a TaxFactorProcessor
class that interacts with a TaxService
class in order to calculate the tax factor and update the tax data of a given person. Have a look at the following code:
public class TaxFactorProcessor { public static final double INVALID_TAX_FACTOR = -1; private final TaxService taxService; public TaxFactorProcessor(TaxService taxService) { this.taxService = taxService; } ...