The classic Pragmatic Unit Testing with Java in JUnit returns for a third edition, streamlined and rewritten with updated and more accessible code examples. In this edition, you'll learn how to create concise, maintainable unit tests with confidence. New chapters provide a foundation of examples for testing common concepts, and guidance on incorporating modern AI tools into your development and testing. Updated topics include improving test quality via development mnemonics, increasing ROI through test and production code refactoring, and using tests to drive development.
Pragmatic Unit Testing in Java with JUnit steps you through all the important unit testing topics.
If you've never written a unit test, you'll be hand-held through the hard part - getting set up and started. Once past the basics, you'll see numerous examples in order to start understanding what tests for common code concepts look like. You'll then learn how to effectively use the essential features of JUnit, the predominant tool for writing and executing unit tests in Java.
You'll gain the combined wisdom of Jeff Langr and original authors Andy Hunt and Dave Thomas, providing decades of unit testing experience on real production systems. You'll learn how to:
- Craft your code to make unit testing easier in the first place
- Craft your unit tests to minimize your maintenance effort
- Use unit tests to support keeping your system clean through refactoring
- Refactor toward a design that will create the highest possible ROI
- Test the tough stuff, including code that must be mocked
- Remember what's important when writing unit tests
- Help your team reap and sustain the benefits of unit testing
- Use AI tooling as part of a development process that incorporates unit testing
You won't just learn about unit testing in theory - you'll learn about "real" unit testing the Pragmatic way, by working through numerous code examples.
What You Need:
You'll need the Java SDK (Software Development Kit) version 21 or higher to work through the examples in the book. You'll also want an IDE (Integrated Development Environment) in which to build code. While most of the book doesn't assume use of any specific IDE, you'll find a number of "getting started" screen shots to help you if you're using IntelliJ IDEA.