-
Book Overview & Buying
-
Table Of Contents
Test-Driven Development with Java
By :
Test-Driven Development with Java
By:
Overview of this book
Test-driven development enables developers to craft well-designed code and prevent defects. It’s a simple yet powerful tool that helps you focus on your code design, while automatically checking that your code works correctly. Mastering TDD will enable you to effectively utilize design patterns and become a proficient software architect.
The book begins by explaining the basics of good code and bad code, bursting common myths, and why Test-driven development is crucial. You’ll then gradually move toward building a sample application using TDD, where you’ll apply the two key rhythms -- red, green, refactor and arrange, act, assert. Next, you’ll learn how to bring external systems such as databases under control by using dependency inversion and test doubles. As you advance, you’ll delve into advanced design techniques such as SOLID patterns, refactoring, and hexagonal architecture. You’ll also balance your use of fast, repeatable unit tests against integration tests using the test pyramid as a guide. The concluding chapters will show you how to implement TDD in real-world use cases and scenarios and develop a modern REST microservice backed by a Postgres database in Java 17.
By the end of this book, you’ll be thinking differently about how you design code for simplicity and how correctness can be baked in as you go.
Table of Contents (21 chapters)
Preface
Part 1: How We Got to TDD
Chapter 1: Building the Case for TDD
Chapter 2: Using TDD to Create Good Code
Chapter 3: Dispelling Common Myths about TDD
Part 2: TDD Techniques
Chapter 4: Building an Application Using TDD
Chapter 5: Writing Our First Test
Chapter 6: Following the Rhythms of TDD
Chapter 7: Driving Design – TDD and SOLID
Chapter 8: Test Doubles – Stubs and Mocks
Chapter 9: Hexagonal Architecture –Decoupling External Systems
Chapter 10: FIRST Tests and the Test Pyramid
Chapter 11: Exploring TDD with Quality Assurance
Chapter 12: Test First, Test Later, Test Never
Part 3: Real-World TDD
Chapter 13: Driving the Domain Layer
Chapter 14: Driving the Database Layer
Chapter 15: Driving the Web Layer
Index