Five-Project Series

Unit Testing with Java, JUnit 5, and IntelliJ IDEA you own this product

Java • YAML syntax • Gherkin syntax • Webhooks
skills learned
Drive product design with tests • refurbish legacy code into code using unit tests • build server- and UI-integration tests • retrofit untested systems with unit-, server-, and UI-level tests • build load and performance tests for web applications
Earn a Certificate of Completion with this liveProject series
Max Guernsey
5 weeks · 8-10 hours per week average · INTERMEDIATE
get all Manning content with a subscription
go to series
includes 5 liveProjects
liveProject $49.99 $69.99 self-paced learning

It’s a problem almost every developer will face in their career: inheriting an essential legacy library that’s full of bugs and has no automated tests to keep it running smoothly. In this liveProject series, you’ll step into the shoes of a Java developer handling just such a codebase for a stock image web application—one that will soon require significant changes to the library you maintain.

You’ll use JUnit 5 and IntelliJ IDEA to write tests and refactor this buggy code into something both usable and indefinitely maintainable. Each project is focused on a different approach or testing methodology to let you pick and choose which testing techniques to add to your toolbox.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.
How to get your FREE
Certificate of Completion
  • Finish all the projects in this liveProject series
  • Take a short online test
  • Answer questions from the liveProject mentor
That's it!

liveProject mentor Sachin Rastogi shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Fix and Test Bugs
In this liveProject, you’ll find and fix some long-term bugs in a legacy library. You’ll write a test to characterize a bug in how certain assets are selected for a special display, then modify the test to turn it into a bugfix. Once you’ve squashed that bug, you’ll repeat the process to tackle two more common bugs for Java applications.
Project 2 Test Legacy Code
In this liveProject, you’ll set up tests to support refactoring of a legacy library. As you lack a written specification, you’ll use “pinning tests” to extract a specification from the existing code, and generate a wide range of test coverage. You’ll learn to spot when and where to improve code maintainability, and set up mutation testing to ensure your tests catch unintended changes.
Project 3 Refactor with Tests
In this liveProject, you’ll learn to use a battery of tests to support changing the design of some legacy code in preparation for adding new functionality. You’ll refactor your production code based on advice from your architecture team. Because you have a broad test suite, you will be able to change your design without fear of accidentally breaking a required behavior. The output will be a system that can more easily withstand incoming requirements changes and against which you can write smaller, more meaningful tests.
Project 4 Requirements-Based Tests
In this liveProject, you’ll explore writing high-quality, requirements-based tests against code with a solid design.You will take great care to ensure that each test focuses on a single, isolated behavior within the code. To that end, you’ll use techniques such as mocking to isolate requirements from one another for the purpose of testing. The output of the project is a codebase with a far more resilient test suite that will be able to stand the test of time.
Project 5 Test-First Programming
In this liveProject, you’ll write tests to drive changes in an existing codebase. You’ll analyze new requirements, reconcile them with what is currently documented by your test suite, and use the test-first technique to ensure new changes to your library are all justified, specified, and protected by tests.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

The free project does not include full access to these Manning book. Purchase the full series to unlock this access in the free project, too!
How to get your FREE
Certificate of Completion
  • Finish all the projects in this liveProject series
  • Take a short online test
  • Answer questions from the liveProject mentor
That's it!

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free eBook every time you renew
  • choose twelve free eBooks per year
  • exclusive 50% discount on all purchases
  • Unit Testing with Java, JUnit 5, and IntelliJ IDEA eBook for free

project author

Max Guernsey, III

Max Guernsey has over twenty years of experience in software development and is currently a managing member at DevCraft LLC. He has worked on a wide range of products and technologies, including C++ class libraries, financial analysis applications, C# and Java backends, and even multi-platform video games. He is an experienced consultant and his "coaching from the keyboard" approach provides hands-on experience to learners in all aspects of modern software development.


This liveProject is for Java developers who want to increase their testing capabilities. To begin this liveProject you will need to be familiar with the following:

  • Basic Java
  • Junit 5

you will learn

In this liveProject series, you’ll learn to develop tests that fix specific bugs, and that stay in place to guard against regressions.

  • Using IntelliJ IDEA to write and execute tests
  • Deriving tests from existing bugs
  • Codify current behavior as a test
  • Using tests to drive bugfixes
  • Changing tests so they fail until a bug is fixed


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
Certificate of Completion
Earn a certificate of completion, including a badge to display on your resume, LinkedIn page, and other social media, after you complete this series.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.