Mockito is the most popular framework in the Java world for automating unit testing with dependencies. Learn the Mockito API and how and when to use stubs, mocks, and spies. On a deeper level, discover why the framework does what it does and how it can simplify unit testing in Java. Using Mockito, you'll be able to isolate the code you want to test from the behavior or state of external dependencies without coding details of the dependency. You'll gain insights into the Mockito API, save time when unit testing, and have confidence in your Java programs.
If you've only ever run a few JUnit tests or injected stubs into classes to return preset values, it's time to level up your Java toolbox. Dependencies on other classes and external resources can obscure issues and make bugs hard to detect. You need to test classes in isolation to truly pinpoint your problems. And while you could write dummy classes to replace dependencies yourself, Mockito automates the process and helps you fix your code faster.
Start with the Mockito API to generate fake classes for dependencies, configure how each should respond when their methods are called, and verify that the class under test interacts with dependencies the way you'd expect. Next, build unit tests with the Mockito framework and feel confident not just that methods are called, but that they are called the correct number of times and in the correct order. Along the way, follow clear test examples based on JUnit 5 to create stubs, mocks, and spies and find the source of any problems lurking in Java classes.
Save time, write better code, and have more confidence in your Java programs with Mockito.
What You
In this book, we use Mockito 4, the latest version of the Mockito framework, but the concepts and the code works on versions 2 and 3. The tests are based on JUnit 5 (known as Jupiter). There are some differences in JUnit 4, but none of those affect Mockito directly. The underlying Java version is 11, but the provided tests in the GitHub repository will work successfully for any version of Java above that (including the current Long Term Support version, 17).
I am the author of five books, four about software development and one about managing your manager. My technical books are "Kotlin Cookbook", "Modern Java Recipes", and "Gradle Recipes for Android", all from O'Reilly Media, and "Making Java Groovy" from Manning.
My latest book is called "Help Your Boss Help You" and is all about building a relationship with your manager that gets you what you want from your job when you want it. The book is intended for working professionals, defined as people who currently care more about doing their job well than moving through the ranks of people management, but who still have to deal with managers all the time.
I'm happy to try to answer any questions about any of my books here.
There was minimal hands-on effort required to get the examples from the book working, but I'm glad building the examples to completion was possible. Many coding books don't facilitate doing that easily and that can be such a turnoff. Also does a good job of highlighting quirks and corner cases. I'd take off half a star just because I think the flow from topic to topic can be polished a bit more.
It's the clearer material I've seen, I've been postponing learning this framework for quite a while now, and in two days I feel like I finally understand what's all about.