Effective Unit Testing
Effective Unit Testing is written to show how to write good tests—tests that are concise and to the point, expressive, useful, and maintainable. Inspired by Roy Osherove’s bestselling The Art of Unit Testing, this book focuses on tools and practices specific to the Java world. It introduces you to emerging techniques like behavior-driven development and specification by example, and shows you how to add robust practices into your toolkit.
Test the components before you assemble them into a full application, and you’ll get better software. For Java developers, there’s now a decade of experience with well-crafted tests that anticipate problems, identify known and unknown dependencies in the code, and allow you to test components both in isolation and in the context of a full application.
Effective Unit Testing teaches Java developers how to write unit tests that are concise, expressive, useful, and maintainable. Offering crisp explanations and easy-to-absorb examples, it introduces emerging techniques like behavior-driven development and specification by example.
Programmers who are already unit testing will learn the current state of the art. Those who are new to the game will learn practices that will serve them well for the rest of their career.
- A thorough introduction to unit testing
- Choosing best-of-breed tools
- Writing tests using dynamic languages
- Efficient test automation
Table of Contents
Part 1: Foundations
Chapter 1. The promise of good tests
Chapter 2. In search of good
Chapter 3. Test doubles
Part 2: Catalog
Chapter 4. Readability
Chapter 5. Maintainability
Chapter 6. Trustworthiness
Part 3: Diversions
Chapter 7. Testable design
Chapter 8. Writing tests in other JVM languages
Chapter 9. Speeding up test execution
Appendix A. JUnit primer
Appendix B. Extending JUnit