|
1 | 1 | <section data-type="preface">
|
2 | 2 | <h1>Brief Table of Contents (<em>Not Yet Final</em>)</h1>
|
3 | 3 |
|
4 |
| -FM: Preface |
5 |
| -(AVAILABLE, NO UPDATE) |
6 |
| -FM: Prerequisites and Assumptions (AVAILABLE, NO UPDATE) |
7 |
| -FM: Companion Video (AVAILABLE, NO UPDATE) |
8 |
| -FM: Acknowledgments (UNAVAILABLE) |
9 |
| -Part 1: The Basics of TDD and Django (AVAILABLE, NO UPDATE) |
10 |
| -Chapter 1: Getting Django Set Up Using a Functional Test (AVAILABLE, NO |
11 |
| -UPDATE) |
12 |
| -Chapter 2: Extending Our Functional Test Using the unittest Module |
13 |
| -(AVAILABLE, NO UPDATE) |
14 |
| -Chapter 3: Testing a Simple Home Page with Unit Tests (AVAILABLE, NO UPDATE) |
15 |
| -Chapter 4: What Are We Doing with All These Tests? (And, Refactoring) |
16 |
| -(AVAILABLE, NO UPDATE) |
17 |
| -Chapter 5: Saving User Input: Testing the Database (AVAILABLE, NO UPDATE) |
18 |
| -Chapter 6: Improving Functional Tests: Ensuring Isolation and Removing |
19 |
| -Voodoo Sleeps (AVAILABLE, NO UPDATE) |
20 |
| -Chapter 7: Working Incrementally (AVAILABLE, NO UPDATE) |
21 |
| -Part 2: Web Development Sine Qua Nons (AVAILABLE, NO UPDATE) |
22 |
| -Chapter 8: Prettification: Layout and Styling, and What to Test About It |
23 |
| -(AVAILABLE, NO UPDATE) |
24 |
| -Chapter 9: Deployment Part 1: Containerization akaDocker (AVAILABLE, NO |
25 |
| -UPDATE) |
26 |
| -Chapter 10: Getting to a Production-Ready Deployment (AVAILABLE, NO UPDATE) |
27 |
| -Chapter 11: Infrastructure As Code: Automated Deployments With Ansible |
28 |
| -(AVAILABLE, NEW) |
29 |
| -Chapter 12: Splitting Our Tests into Multiple Files, and a Generic Wait |
30 |
| -Helper (UNAVAILABLE) |
31 |
| -Chapter 13: Validation at the Database Layer (UNAVAILABLE) |
32 |
| -Chapter 14: A Simple Form (UNAVAILABLE) |
33 |
| -Chapter 15: More Advanced Forms (UNAVAILABLE) |
34 |
| -Chapter 16: Dipping Our Toes, Very Tentatively, into JavaScript |
35 |
| -(UNAVAILABLE) |
36 |
| -Chapter 17: Deploying Our New Code (UNAVAILABLE) |
37 |
| -Part 3: More Advanced Topics in Testing (UNAVAILABLE) |
38 |
| -Chapter 18: User Authentication, Spiking, and De-Spiking (UNAVAILABLE) |
39 |
| -Chapter 19: Using Mocks to Test External Dependencies or Reduce Duplication |
40 |
| -(UNAVAILABLE) |
41 |
| -Chapter 20: Test Fixtures and a Decorator for Explicit Waits (UNAVAILABLE) |
42 |
| -Chapter 21: Server-Side Debugging (UNAVAILABLE) |
43 |
| -Chapter 22: Finishing “My Lists”: Outside-In TDD (UNAVAILABLE) |
44 |
| -Chapter 23: Test Isolation, and “Listening to Your Tests” (UNAVAILABLE) |
45 |
| -Chapter 24: Continuous Integration (CI) (UNAVAILABLE) |
46 |
| -Chapter 25: The Token Social Bit, the Page Pattern, and an Exercise for the |
47 |
| -Reader (UNAVAILABLE) |
48 |
| -Chapter 26: Fast Tests, Slow Tests, and Hot Lava (UNAVAILABLE) |
49 |
| -BM part page: Obey the Testing Goat! (UNAVAILABLE) |
50 |
| -App A: PythonAnywhere (UNAVAILABLE) |
51 |
| -App B: Django Class-Based Views (UNAVAILABLE) |
52 |
| -App C: Provisioning with Ansible (UNAVAILABLE) |
53 |
| -App D: Testing Database Migrations (UNAVAILABLE) |
54 |
| -App E: Behaviour-Driven Development (BDD) (UNAVAILABLE) |
55 |
| -App F: Building a REST API: JSON, Ajax, and Mocking with JavaScript |
56 |
| -(UNAVAILABLE) |
57 |
| -App G: Django-Rest-Framework (UNAVAILABLE) |
58 |
| -App H: Cheat Sheet (UNAVAILABLE) |
59 |
| -App I: What to Do Next (UNAVAILABLE) |
60 |
| -App J: Source Code Examples (UNAVAILABLE) |
61 |
| -Bibliography (UNAVAILABLE) |
| 4 | +<p>Preface (AVAILABLE)</p> |
| 5 | +<p>Prerequisites and Assumptions (AVAILABLE)</p> |
| 6 | +<p>Companion Video (AVAILABLE)</p> |
| 7 | +<p><em>Acknowledgments (UNAVAILABLE)</em></p> |
| 8 | +<p>Part 1: The Basics of TDD and Django (AVAILABLE)</p> |
| 9 | +<p>Chapter 1: Getting Django Set Up Using a Functional Test (AVAILABLE)</p> |
| 10 | +<p>Chapter 2: Extending Our Functional Test Using the unittest Module (AVAILABLE)</p> |
| 11 | +<p>Chapter 3: Testing a Simple Home Page with Unit Tests (AVAILABLE)</p> |
| 12 | +<p>Chapter 4: What Are We Doing with All These Tests? (And, Refactoring) (AVAILABLE)</p> |
| 13 | +<p>Chapter 5: Saving User Input: Testing the Database (AVAILABLE)</p> |
| 14 | +<p>Chapter 6: Improving Functional Tests: Ensuring Isolation and Removing Voodoo Sleeps (AVAILABLE)</p> |
| 15 | +<p>Chapter 7: Working Incrementally (AVAILABLE)</p> |
| 16 | +<p>Part 2: Web Development Sine Qua Nons (AVAILABLE)</p> |
| 17 | +<p>Chapter 8: Prettification: Layout and Styling, and What to Test About It (AVAILABLE)</p> |
| 18 | +<p>Chapter 9: Deployment Part 1: Containerization akaDocker (AVAILABLE)</p> |
| 19 | +<p>Chapter 10: Getting to a Production-Ready Deployment (AVAILABLE)</p> |
| 20 | +<p>Chapter 11: Infrastructure As Code: Automated Deployments With Ansible (AVAILABLE)</p> |
| 21 | +<p><em>Chapter 12: Splitting Our Tests into Multiple Files, and a Generic Wait Helper (UNAVAILABLE)</em></p> |
| 22 | +<p><em>Chapter 13: Validation at the Database Layer (UNAVAILABLE)</em></p> |
| 23 | +<p><em>Chapter 14: A Simple Form (UNAVAILABLE)</em></p> |
| 24 | +<p><em>Chapter 15: More Advanced Forms (UNAVAILABLE)</em></p> |
| 25 | +<p><em>Chapter 16: Dipping Our Toes, Very Tentatively, into JavaScript (UNAVAILABLE)</em></p> |
| 26 | +<p><em>Chapter 17: Deploying Our New Code (UNAVAILABLE)</em></p> |
| 27 | +<p><em>Part 3: More Advanced Topics in Testing (UNAVAILABLE)</em></p> |
| 28 | +<p><em>Chapter 18: User Authentication, Spiking, and De-Spiking (UNAVAILABLE)</em></p> |
| 29 | +<p><em>Chapter 19: Using Mocks to Test External Dependencies or Reduce Duplication (UNAVAILABLE)</em></p> |
| 30 | +<p><em>Chapter 20: Test Fixtures and a Decorator for Explicit Waits (UNAVAILABLE)</em></p> |
| 31 | +<p><em>Chapter 21: Server-Side Debugging (UNAVAILABLE)</em></p> |
| 32 | +<p><em>Chapter 22: Finishing “My Lists”: Outside-In TDD (UNAVAILABLE)</em></p> |
| 33 | +<p><em>Chapter 23: Test Isolation, and “Listening to Your Tests” (UNAVAILABLE)</em></p> |
| 34 | +<p><em>Chapter 24: Continuous Integration (CI) (UNAVAILABLE)</em></p> |
| 35 | +<p><em>Chapter 25: The Token Social Bit, the Page Pattern, and an Exercise for the Reader (UNAVAILABLE)</em></p> |
| 36 | +<p><em>Chapter 26: Fast Tests, Slow Tests, and Hot Lava (UNAVAILABLE)</em></p> |
| 37 | +<p><em>BM Obey the Testing Goat! (UNAVAILABLE)</em></p> |
| 38 | +<p><em>App A: PythonAnywhere (UNAVAILABLE)</em></p> |
| 39 | +<p><em>App B: Django Class-Based Views (UNAVAILABLE)</em></p> |
| 40 | +<p><em>App C: Provisioning with Ansible (UNAVAILABLE)</em></p> |
| 41 | +<p><em>App D: Testing Database Migrations (UNAVAILABLE)</em></p> |
| 42 | +<p><em>App E: Behaviour-Driven Development (BDD) (UNAVAILABLE)</em></p> |
| 43 | +<p><em>App F: Building a REST API: JSON, Ajax, and Mocking with JavaScript (UNAVAILABLE)</em></p> |
| 44 | +<p><em>App G: Django-Rest-Framework (UNAVAILABLE)</em></p> |
| 45 | +<p><em>App H: Cheat Sheet (UNAVAILABLE)</em></p> |
| 46 | +<p><em>App I: What to Do Next (UNAVAILABLE)</em></p> |
| 47 | +<p><em>App J: Source Code Examples (UNAVAILABLE)</em></p> |
| 48 | +<p><em>Bibliography (UNAVAILABLE)</em></p> |
62 | 49 |
|
63 | 50 | </section>
|
0 commit comments