Book Image

Mockito Cookbook

By : Marcin Grzejszczak
Book Image

Mockito Cookbook

By: Marcin Grzejszczak

Overview of this book

Table of Contents (17 chapters)
Mockito Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Refactoring classes that do too much


In this recipe, we will refactor a class that does not follow the S (Single responsibility) from the SOLID principles.

Getting ready

Let's assume that our system under test is a system that generates a new identity for a given person who can have a name, an age, and siblings, and who sends a JSON message over a web service. Note that the following snippet presents a poorly designed class (please refer to Chapter 1, Getting Started with Mockito, for the TestNG configuration and Chapter 7, Verifying Behavior with Object Matchers, for the AssertJ configuration and the BDDAssertions static imports):

public class GodClassNewPersonGenerator {

    static final String DEFAULT_NEW_NAME = "NewName";

    public Person generateNewIdentity(Person person) {
        String newName = createNewName(person);
        int newAge = createNewAge(person);
        List<Person> newSiblings = createNewSiblings(person);
        Person newPerson = new Person(newName, newAge...