Learn the ins and outs of the most popular mocking framework for Java applications

... with this comprehensive hands-on online course about Mockito.

New to mocking Java objects for your unit tests?

With this course you'll learn the ins and outs of Mockito
and build a solid foundation for your testing success.

Beginner Friendly

We start from zero. No prior Mockito knowledge is required. After explaining why we need mocks for our unit tests, we'll go through Mockito's API step-by-step.

Technical Mastery

At the end of the course, you'll have a wide-ranged knowledge about the features of Mockito. From now on, mocking objects becomes easy.

Applicable Everywhere

It doesn't matter which application framework (Spring Boot, Jakarta EE, Micronaut, Helidon, Quarkus, MicroProfile, etc.) you use as Mockito is omnipresent in the Java testing ecosystem.

@Mock, @Spy, @Captor, when(), verify(),
thenReturn(), ArgumentMatcher, ...

... one might get easily overwhelmed when starting to learn Mockito ...

You are a Java developer struggling to mock the collaborators of your class under test? 

You just learned the basics of testing Java applications and now need a solid understanding of Mockito?

You are getting NullPointerExceptions because your mocks do not behave as you want them to?

Let's face reality. Most of your Java classes are not as simple as a MyCalculator class. Our classes have collaborators for which we need to instruct the behavior for our tests. 

Mocking is part of your daily work when testing your applications.

For Java (and  also Kotlin & Scala), we have a mature and well-adopted solution for creating and instructing mocks: Mockito.

As Mockito is so omnipresent in the JVM testing landscape, a solid understanding of it is essential as a Java developer.

If you are coming from a different programming language, you'll love the user-friendly API of Mockito.

Having worked with JavaScript for almost three years, I still have to go to the Jest documentation every time I want to mock stuff.

With Mockito that's different.

Compared to other programming languages and their mocking frameworks, Mockito has the most intuitive API and the steepest learning curve.

The knowledge you gain with this course applies to testing all your applications, independent of the framework (Spring Boot, Jakarta EE, Micronaut, Helidon, Quarkus, etc.).

Here’s What People Are Saying About the Course

Adil Lotia

Software Engineer

Awesome course! I have been using Mockito for more than a couple of years, but had not figured out some of the intricacies of the library. Your explanation and examples were great and really helped clear some of the mystery around it. I now feel a lot more informed and can use that to make my tests easier and more robust.

Follow me on:

About The Course Teacher, Philip (rieckpil)

Philip is an independent IT-Consultant living in Berlin. He started with Spring Boot back in 2015 and has used it for multiple applications in several industries. Testing is an integral part of his daily work as he is a profound craftsman.

Once Philip understood the ins and outs of the Java testing landscape, writing tests makes as much fun as writing production code for him. He is also a won around TDD (Test Driven Development) practitioner and regularly shares testing techniques among his colleagues and clients.

He started teaching Java topics on YouTube in 2018 and is writing content about the Java ecosystem on his blog since 2017.

Besides that, he's also actively helping developers on StackOverflow with their questions around testing.



Online Course Launches

> 500

Students on rieckpil.de

~ 2.000

Subscribers on YouTube

Here’s what people are saying about the course instructor

Tom Hombergs reflectoring.io

Tom Hombergs

Founder of reflectoring.io

Philip is a dedicated developer and doesn't give up until he has understood the details of a topic.

In his courses and articles, he transfers this knowledge to you and they leave you smarter than before. 

Looking forward to working with you in the future, Philip

Vlad Mihalcea

Vlad Mihalcea

Founder of vladmihalcea.com

Philip is a very skilled content creator who managed to publish high quality articles and videos that cover a wide range of topics, like Spring, Java EE, or Jakarta EE.

He pays a lot of attention to details, so if you enjoyed his articles and videos, you are surely going to love his video courses.

Marco Behler

Marco Behler

Founder of marcobehler.com

How can you not love what Philip is doing?

Tons of actionable tutorials and content across the Jakarta EE and Spring universes.

Highly recommended!

What this course is not

crash course

course for dummies

course on unit testing Java applications

course about JUnit 5


...this course explains all the 

essential features of Mockito using hands-on examples.

Course Curriculum

The structure of this course mirrors the lifecycle of your mocks.


Answering the question:  "Why do we actually need mocks for our tests?"

Creating Mocks With Mockito

You'll learn all different ways to create mocks and get a basic understanding of how Mockito internally creates them.

Stubbing Method Calls Of A Mock

Without stubbing, mocks are just an empty shell. You'll learn how to instruct your mock's behavior (ArgumentMatchers, BDD vs. non-BDD style, stubbing void methods, etc.).

Verifying The Interaction Of A Mock

Inspect the actual interaction of your mocks and verify how your mocks were used during your test.

Miscellaneous & Advanced Topics

The final module covers several advanced topics: @Spy vs. @Mock, @MockBean vs. @Mock, mocking static methods, deep stubbing, etc.

Build Your Testing Success On Top Of a Solid Foundation

With this right-sized online course you get a practical introduction to Mockito and learn about all its features.

Hands-On Mocking With Mockito


Single-User License

  • Lifetime Access
  • Access to the source code
  • Covering basic & advanced features
  • Free updates on new lessons
  • 27 video lessons with 2h content

100% Satisfaction Guarantee for 60-Days

You are not satisfied with the content of this Mockito course? No problem!

Contact us ([email protected]) within 60 days after you got access to this course and we'll send you a refund - no questions asked.

Frequently asked questions

How long does it take to complete the course?

The 27 video lessons have a total length of ~ 2 hours.

As I recommend to code in parallel, I assume you'll need 3-4 hours to complete the course.

Can I get a refund?

Yes, you can get a refund within 30 days if the content of this course doesn't meet your expectations.

What library versions are in use?

I'm constantly update all dependencies of the course application and try to be up-to-date.

Right now the course uses Mockito 5.1.1 and JUnit 5.9.2.

As I might forget to update this section, please refer to the pom.xml of the project for the latest version.

last updated: 3rd of Februrary 2023

Can I get a discount as a student?

Yes, just send me and email and attach a confirmation (e.g. a picture of your student identity card or a certificate of enrollment for this year) and I'll send you a personalized coupon code.

Where can I register for a course account?

If you already have an account for my online courses then you can reuse this account.

Otherwise create your course account here (no payment info required, just email).

Where can I reset my password?

If you forgot your password or want to reset it, you can request a new password here.