JUnit for advanced users
Advanced JUnit 5 is a next-generation framework for creating automated unit tests in Java, offering features such as parameterized tests, dependency injection, full Java 8 support, and a modern API that makes it easier than ever to extend the framework and adapt it to project needs.
Ideal for teams that…
Software testing and quality — automation and QA methodologies.
How to perform a complete process from reading data, through transformations, to delivering results
Deep understanding of JUnit 5 and its features
How to use Mockito for mocking dependencies
How to write clean and readable assertions using AssertJ
Advanced JUnit 5 features: parameterized tests, nested and repeated tests, extension model
Integration with Spring Boot, CI/CD pipelines, and test reporting
Best practices for testing databases, APIs, and services using tools like WireMock and TestContainers
Migration from JUnit 4 to JUnit 5
What we actually do
- · Unit Testing Theory Motivation for writing unit tests Principles of writing good tests Best practices and common mistakes (recurring throughout the training) Three main tools: JUnit 5, Mockito, AssertJ Recap and deep dive into popular tool combinations for unit testing in Java
- · JUnit Architecture Introduction Connecting JUnit to the project Mockito: proper usage, less common features useful in daily work AssertJ: the most readable assertion library in Java
- · JUnit 5 – Advanced Topics Assumptions Test lifecycle overview Repeated and nested tests – use cases Parameterized tests – different types Working with files Method injection – introduction to Extension Model Extension Model deep dive Built-in extensions Writing custom extensions Sharing reusable code between tests via extensions
- · JUnit in Real Life Configuring JUnit 5 with Maven/Gradle Test execution optimization Report generation and CI/CD integration Migrating from JUnit 4 to JUnit 5
- · Spring Boot Testing Support Differences between Spring Boot context tests and typical unit tests When to use a simple test vs full Spring Boot context @SpringBootTest annotation Test configuration and test properties Bean mocks Tests with running server MockMvc Slice tests
- · Database Integration Testing Providing a database for tests Unit testing database interactions When to use unit vs integration tests Testing transactional code Spring Security integration
- · Service Integration Testing WireMock TestWebClient vs TestRestTemplate WireMock integration tests TestContainers – use cases and advantages Contract testing – demo
- · Recap and Final Project
From brief to retro in 30 days.
Brief & diagnosis
A call with the team lead + a short survey for participants. We define goals, gap and context.
Program customization
We adapt modules, case studies and code examples to your stack. Approval in 5 days.
Workshop
Trainer-led sessions, hands-on, code review. Mentor available between sessions too.
Retro + report
Outcome report for the team and lead. 30 days of consulting included.
Send a brief. We'll reply within 1 day.
After a short brief we'll prepare a program and a quote. No obligations — it's just a starting point.
Thank you!
We'll get back to you within 1 business day.
Other programs for teams
See all →BDD
Software testing and quality — automation and QA methodologies.
Frontend testing
Software testing and quality — automation and QA methodologies.
Java Testing - Basics
Software testing and quality — automation and QA methodologies.