| Table of Contents |
| Unit Testing in Java—How Tests Drive the Code |
| Foreword |
| Foreword |
| Preface |
| Part I - Basic Techniques |
| Chapter 1 | - | Introduction |
| Chapter 2 | - | Automating Unit Tests |
| Chapter 3 | - | Basic Steps of the Test-First Approach |
| Chapter 4 | - | Test Ideas and Heuristics |
| Chapter 5 | - | The Inner Life of a Test Framework |
| Chapter 6 | - | Dummy and Mock Objects for Independence |
| Chapter 7 | - | Inheritance and Polymorphism |
| Chapter 8 | - | How Much is Enough? |
| Part II - Advanced Topics |
| Chapter 9 | - | Persistent Objects |
| Chapter 10 | - | Concurrent Programs |
| Chapter 11 | - | Distributed Applications |
| Chapter 12 | - | Web Applications |
| Chapter 13 | - | Graphical User Interfaces |
| Chapter 14 | - | The Role of Unit Tests in the Software Process |
| Chapter 15 | - | Loose Ends and Opportunities |
| Part III - Appendices |
| Appendix A | - | Notes to JUnit |
| Appendix B | - | Unit Tests with Other Programming Languages |
| Glossary |
| Bibliography and List of References |
| Index |
| List of Figures |
| List of Tables |