Simple play icon Course

Unit Testing Legacy Code in Java SE 8

by Jim Weaver

Untested code can be difficult and risky to maintain. This course will teach you techniques to get existing code under test as you work on it, without risky rewrites or redesigns.

What you'll learn

One of the biggest challenges developers encounter in their career is having to maintain an existing codebase with little or no tests and unclear, tangled code. In this course, Unit Testing Legacy Code in Java, you will learn techniques to get a legacy and untested Java application, a small but realistic Java application to provide services to a hospital emergency room, under test incrementally as you work on it. First, you will learn about different types of tests and test doubles that can be applied to create a safety net for the application gradually. Next, you will discover crucial dependency-breaking techniques that will allow you to create seams to provide test doubles without disrupting the code. Finally, you will explore ways to deal with hard to understand code, improving the clarity as you work, and techniques to leverage new, tested code from hard to understand code. When you are finished with this course, you will have the knowledge to efficiently handle untested systems you’ve become responsible for.

About the author

Jim Weaver is a software developer with experience in many languages and platforms. He has worked in and led teams in many industry verticals including Defense, Leasing, Energy, and Healthcare. Jim has extensive experience with unit and acceptance testing techniques and tools, and is one of the original authors of JWebUnit, an open-source web application testing API and framework.

Ready to upskill? Get started