Practical Test Driven Development for Java Programmers (Udemy.com)
A truly practical approach to the fundamentals of test driven development in Java, featuring JUnit and Mockito,
Created by: Matt Greencroft
Last updated October 2019
What you will learn
- Be able to confidently create software using Test Driven Development techniques.
- Be able to use Mocking frameworks such as Mockito
- Understand how to write tests for trickier scenarios
- Using TDD techniques to fix applications which weren't developed using TDD
Course Description
This course covers the fundamentals of test driven development for Java programmers... not just the theory, but how to use it in real world project examples. This includes mocking with Mockito. This includes some hands on exercises and how to deal with legacy code that doesn't have tests in place.
IMPORTANT NOTE ABOUT JAVA VERSIONS - This course covers JUnit4 and JUnit5 and is compatible with Java versions 7,8 and 11+.
Instructor Details
- 4.3 Rating
3,370 Reviews
Matt Greencroft
Having worked for over 20 years as a professional programmer, mainly in banking, Matt now teaches for Virtual Pair Programmers. His specialist areas are advanced Java, Spring Framework, Kotlin and Akka.
Outside of work, Matt enjoys cycling, but prefers going downhill to uphill, and he also plays the piano… very badly.
More courses by Matt Greencroft
Java Application Performance Tuning and Memory Management (2022)
4.5 (5,409 Reviews)
Provider: Udemy
Time: 10.1h
$89.99
Practical Java concurrency with the Akka Actor Model (2020)
4.7 (805 Reviews)
Provider: Udemy
Time: 6.9h
$69.99
Build Spring Boot Apps with the Kotlin Programming Language (2019)
4.4 (763 Reviews)
Provider: Udemy
Time: 7.9h
$64.99
Upgrade from JSP to Thymeleaf with SpringMVC and Spring Boot (2019)
4.5 (358 Reviews)
Provider: Udemy
Time: 4h
$11.99
More Software Testing courses
ZeroToHero TestNG Framework - From Basics to Advanced (2026)
4.9 (828 Reviews)
Provider: Udemy
Time: 6.2h
$59.99
Selenium WebDriver with Java- Basics to Advanced + Framework (2026)
4.9 (620 Reviews)
Provider: Udemy
Time: 35.5h
$84.99
Karate DSL: API Automation and Performance from Zero to Hero (2026)
4.8 (4,652 Reviews)
Provider: Udemy
Time: 7.2h
$10.99
API Testing in detail using Postman - Test Automation (2026)
4.8 (423 Reviews)
Provider: Udemy
Time: 7.8h
$10.99
Quick Introduction to Postman and API Testing for Beginners (2025)
4.7 (23,113 Reviews)
Provider: Udemy
Time: 3.2h
$13.99
Software Testing Masterclass (2026) - From Novice to Expert
4.7 (12,622 Reviews)
Provider: Udemy
Time: 9.9h
$149.99
Reviews
By Tobias Alonso Martinez on 10/31/2025
Since it is 2025 now and this was published years ago, not everything is working as smoothly as it might used to. You are all doing it on Java 8 but in the meantime Java 25 was released, vulnerabilities have been found and if you don't want to use Java 8 anymore but rather 17, 21 or 25, this is not working anymore. Additionally, you should hava a before and after since you don't get the code that needs to be changed but rather the changed code which you don't need to change anymore and already see the solution to the provided problems.
By Salvatore Pannozzo Capodiferro on 9/18/2023
I recently completed this course and found it to be a valuable introduction to Test-Driven Development (TDD) and Mockito. The instructor did an excellent job explaining the Red-Green-Refactor cycle, which is the core of TDD. The detailed coverage of Mockito, complete with practical examples using spies, was particularly enlightening. I appreciated the advanced topics covered, such as avoiding tautology in unit tests. It's evident that the course leans towards the London School (Mockist) approach to TDD, which emphasizes interactions and behavior. While this approach was well-presented and justified, I would have loved to see some discussion on the Chicago School (Classicist) approach, which emphasizes state and tends to avoid mocks. The course could also benefit from discussing alternative stubbing techniques, such as using JSON, and the importance of contract tests in collaboration testing. However, these are minor points in what is otherwise a comprehensive and well-structured course. Overall, I'd recommend this course to anyone looking to deepen their understanding of TDD and Mockito. It provides a solid foundation and offers insights that even experienced developers might find useful.
By Acacia Lord on 11/29/2022
Ending project is given in completion, but with errors - I would have appreciated a separate template to do the work myself, and as instructed. Would give 5 stars if issues were nonexistent on the final version, and I given a template. Loved all other sections of the course, very helpful and learned a lot.
By Vanessa Reese on 4/18/2022
The age of the Mockito version used in this course is a big problem. The fact that byte-buddy and objenesis are needed is not even mentioned. In order to get the final exercise to work, I couldn't use the steps that he detailed because I'm not using Eclipse, but IntelliJ. The instructor begins by giving the separate instructions for differences in IntelliJ, but abandons that by the end of the course. Finally there are not enough practical exercises to feel as if you've learned anything.
By Anonymized User on 6/30/2021
Great organization and creative use of "little surprises" along the way to create engagement. Really well designed instructional video. I will be recommending this to my company for inclusion in their official list of agile engineering practices curriculum. One minor "style" item is reliance on public setters for injecting mocks - that's probably preferable to modifying constructors of legacy classes, and is a minor point.
By Thomas Allison on 7/16/2020
Very insightful and interesting course, presented cleanly and professionally - I made thorough notes and can see this being useful in my next term at school where I will have to do some TDD. I had a couple issues using Mockito with Spring in the final chapter but this was easily fixed by changing the Maven dependencies to the latest version and adding Junit5 directly via Eclipse. Not sure if other people will have this, and it's certainly no fault of the course creators.
By Pablo Napoli on 12/23/2019
This course was awesome!. Matt explains everything with its clear voice (what is very important for me because my english is not so good and even I didn't need the subtitles at all) and all of the projects are very didactic. It was actually what I was looking for about TDD and also I could reforce those things that I learnt from other courses about Unit Test but here I could deffinetely understand. He was always willing to answer all of my questions and that's much appreciated. Thanks Matt!
By Carlos Olson on 12/20/2019
Plenty of philosophy on why we ask the questions we do and how the whole process adds value to our code and the business! I'm truly going through a transformation by learning from Matt! Thank you so much for offering this course and showing us how to care for our craft more!!! I appreciate being a computer scientist even more now!!!
By Khutso Fanny Matjipa on 12/17/2019
The course was amazing to learn. I had no knowledge of JUnit testing before this now I am confident in writing JUnit Tests. It is more practical in regards to hands on, but I think it would have been more great if there were exercises that are not optional so that we can check if we really following, more especially the theory part.
By Pedro de Cos on 7/21/2019
I got what I expected, I'm a beginner, with a bonus in terms of motivation due to the nice way the course teaching is driven. I would like to remark too, the perfect balance between the time spent to explain the concepts and strategies behind testing and the "hands on" time related to solve the exercises and examples. Good sound and video, but I would recommend (to VPP and all teachers in Udemy) the use of bigger fonts in the editor, in order to balance out some blurry effect on typography, due to the usual desktop recording software capabilities. This course is worth it, sure.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 86 / 100












