Unit Testing Legacy Code in Java SE 8
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.
Table of contents
- Module Overview 1m
- The Dependencies Problem 2m
- Understanding Test Doubles 2m
- Understanding Dependency Injection 2m
- Dependency Breaking Techniques 2m
- Demo: Pass Null 7m
- Demo: Expose Static Method 2m
- Demo: Parameterize Constructor 6m
- Demo: Extract Interface 7m
- Demo: Subclass and Override Method 7m
- Demo: Wrap API 6m
- Demo: Revisiting the Dosing Calculator Test Problem 3m
- Module Summary 1m