Test-Driven Development with Mockito

Learn how to apply Test-Driven Development and the Mockito framework in real life projects, using realistic, hands-on examples

Test-Driven Development with Mockito

Starting
Sujoy Acharya

Learn how to apply Test-Driven Development and the Mockito framework in real life projects, using realistic, hands-on examples
$23.99
$39.99
RRP $23.99
RRP $39.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781783283293
Paperback172 pages

About This Book

  • Start writing clean, high quality code to apply Design Patterns and principles
  • Add new features to your project by applying Test-first development- JUnit 4.0 and Mockito framework
  • Make legacy code testable and clean up technical debts

Who This Book Is For

If you are a developer who wants to develop software following Test Driven Development using Mockito and leveraging various Mockito features, this book is ideal for you. You don’t need prior knowledge of TDD, Mockito, or JUnit.

It is ideal for developers, who have some experience in Java application development as well as a basic knowledge of unit testing, but it covers the basic fundamentals of TDD and JUnit testing to get you acquainted with these concepts before delving into them.

Table of Contents

Chapter 1: Getting Familiar with TDD
Definition of test
The big picture
Refactoring
Summary
Chapter 2: Refactoring – Roll the Dice
Refactoring
Summary
Chapter 3: Applying TDD
Understanding different test types
Understanding TDD – a real-life example
Summary
Chapter 4: Understanding the Difference between Inside-out and Outside-in
Understanding outside-in
Understanding inside-out
Summary
Chapter 5: Test Doubles
Categories of test doubles
Summary
Chapter 6: Mockito Magic
An overview of Mockito
Qualities of unit testing
Drinking Mockito
Verifying redundant invocation
The argument matcher
Throwing exceptions
Consecutive calls
Stubbing with callbacks – using the Answer class
Spying objects
Using doReturn()
Working with Void methods
Argument capture
Summary
Chapter 7: Leveraging the Mockito Framework in TDD
Applying Mockito
Summary
Chapter 8: World of Patterns
Characteristics of a bad design
Design principles
Design patterns
Summary
Chapter 9: TDD, Legacy Code, and Mockito
What is legacy code?
Problems with legacy code
Diving into the legacy puzzle
Refactoring legacy code
The role of Mockito
Summary

What You Will Learn

  • Create your first unit test and discover the power of unit testing
  • Familiarize yourself with Test-first Development and the refactoring process
  • Add new features to your project applying Test Driven Development
  • Create readable, maintainable, and extensible software using design principles and patterns
  • Start stubbing, mocking, spying, and verifying objects using Mockito APIs
  • Apply inside-out and outside-in TDD styles
  • Expedite the development process using Eclipse and keyboard shortcuts
  • Apply JUnit 4.0 and advanced Mockito features – argument captor, callbacks, and answers

In Detail

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.

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.

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.

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.

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.

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.

Authors

Table of Contents

Chapter 1: Getting Familiar with TDD
Definition of test
The big picture
Refactoring
Summary
Chapter 2: Refactoring – Roll the Dice
Refactoring
Summary
Chapter 3: Applying TDD
Understanding different test types
Understanding TDD – a real-life example
Summary
Chapter 4: Understanding the Difference between Inside-out and Outside-in
Understanding outside-in
Understanding inside-out
Summary
Chapter 5: Test Doubles
Categories of test doubles
Summary
Chapter 6: Mockito Magic
An overview of Mockito
Qualities of unit testing
Drinking Mockito
Verifying redundant invocation
The argument matcher
Throwing exceptions
Consecutive calls
Stubbing with callbacks – using the Answer class
Spying objects
Using doReturn()
Working with Void methods
Argument capture
Summary
Chapter 7: Leveraging the Mockito Framework in TDD
Applying Mockito
Summary
Chapter 8: World of Patterns
Characteristics of a bad design
Design principles
Design patterns
Summary
Chapter 9: TDD, Legacy Code, and Mockito
What is legacy code?
Problems with legacy code
Diving into the legacy puzzle
Refactoring legacy code
The role of Mockito
Summary

Book Details

ISBN 139781783283293
Paperback172 pages
Read More