Stubbing void methods so that they return custom answers
In this recipe, we will stub a void method that doesn't return a value, so it returns a custom answer.
Getting ready
For this recipe, our system under test will be the same class as the one in the previous recipe, but let's take another look at it so that you don't need to scroll around to see the source code. The PersonProcessor
class does only one thing for simplicity: it delegates the process of saving person
to the PersonSaver
class. As shown in the following code, in case of success, true is returned; otherwise, false is returned:
public class PersonProcessor { private final PersonSaver personSaver; public PersonProcessor(PersonSaver personSaver) { this.personSaver = personSaver; } public boolean process(Person person) { try { personSaver.savePerson(person); return true; } catch (FailedToSavedPersonDataException e) { System.err.printf("Exception occurred...