Book Image

Test-Driven Development with Mockito

By : Sujoy Acharya
Book Image

Test-Driven Development with Mockito

By: Sujoy Acharya

Overview of this book

<p>The usual life cycle of code involves adding code, breaking an existing functionality, fixing that and breaking a new area! This fragility can be fixed using automated tests and Test Driven Development.<br /><br />TDD’s test first approach expedites the development process and unit tests act as safety nets for code refactoring and help in maintaining and extending the code. This makes TDD highly beneficial for new projects.<br /><br />This practical, hands-on guide provides you with a number of clear, step-by-step exercises that will help you to take advantage of the real power that is behind Test Driven Development and the Mockito framework. By using this book, you will gain the knowledge that you need to use the Mockito framework in your project.<br /><br />This book explains the concept of Test Driven Development (TDD), including mocking and refactoring, as well as breaking down the mystery and confusion that surrounds the test first approach of TDD. It will take you through a number of clear, practical examples that will help you to take advantage of TDD with the Mockito framework, quickly and painlessly.<br /><br />You will learn how to write unit tests, refactor code and remove code smells. We will also take a look at mock objects and learn to use Mockito framework to stub, mock, verify and spy objects for testability. You will also learn to write clean, maintainable, and extensible code using design principles and patterns.<br /><br />If you want to take advantage of using Test Driven Development and learn about mocking frameworks, then this is the book for you. You will learn everything you need to know to apply Test Driven Development in a real life project, as well as how to refactor legacy code and write quality code using design patterns.</p>
Table of Contents (18 chapters)
Test-Driven Development with Mockito
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
2
Refactoring – Roll the Dice
7
Leveraging the Mockito Framework in TDD
Index

Using doReturn()


doReturn() is similar to stubbing a method and returns the expected value. But this is used only when when(mock).thenReturn(return) cannot be used.

when-thenReturn is more readable than doReturn(), also doReturn() is not type safe. thenReturn checks method return types and raises compilation error if an unsafe type is passed.

Here is the syntax for using the doReturn() test:

doReturn(value).when(mock).method(argument);

public class DoReturnTest {
    @Mock
    StockBroker broker;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
    }
        @Test
    public void doReturn_is_not_type_safe() throws Exception {
       //get Qoute returns double
         when(broker.getQoute(isA(Stock.class))).thenReturn(5.00);
     //returning string for getQoute…although return type is double    
       doReturn("string").when(broker).getQoute(isA(Stock.class));
        broker.getQoute(new Stock("A1", 40.00));
        
    }
}

The following screenshot shows...