Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hjwp/book-example

Example code for my book on TDD with Python
https://github.com/hjwp/book-example

Last synced: 2 days ago
JSON representation

Example code for my book on TDD with Python

Awesome Lists containing this project

README

        

This repository contains all the example code from my book, "Test-Driven Web
Development with Python", available at
[www.obeythetestinggoat.com](https://www.obeythetestinggoat.com)

## Checking out code for individual chapters

Each chapter in the book has its own branch, which contains all the commits for
that chapter. So, the state of the code in a branch is the state of the code
at the *end* of that chapter.

In other words, if you want to start on a particular chapter in the book, you
should check out the code for the *previous* chapter.

So, eg, [chapter_02_unittest](https://github.com/hjwp/book-example/tree/chapter_02_unittest) has all the commits up to the
end of chapter 2, so it's the branch to check out if you want to skip to the
beginning of chapter 3.

Here is the list of chapter branches, as of 2024-02-02

Part 1: The Basics of TDD and Django

* [chapter_01](https://github.com/hjwp/book-example/tree/chapter_01)
* [chapter_02_unittest](https://github.com/hjwp/book-example/tree/chapter_02_unittest)
* [chapter_03_unit_test_first_view](https://github.com/hjwp/book-example/tree/chapter_03_unit_test_first_view)
* [chapter_04_philosophy_and_refactoring](https://github.com/hjwp/book-example/tree/chapter_04_philosophy_and_refactoring)
* [chapter_05_post_and_database](https://github.com/hjwp/book-example/tree/chapter_05_post_and_database)
* [chapter_06_explicit_waits_1](https://github.com/hjwp/book-example/tree/chapter_06_explicit_waits_1)
* [chapter_07_working_incrementally](https://github.com/hjwp/book-example/tree/chapter_07_working_incrementally)

Part 2: Web Development Sine Qua Nons

* [chapter_08_prettification](https://github.com/hjwp/book-example/tree/chapter_08_prettification)
* [chapter_09_docker](https://github.com/hjwp/book-example/tree/chapter_09_docker)
* [chapter_10_production_readiness](https://github.com/hjwp/book-example/tree/chapter_10_production_readiness)
* [chapter_11_ansible](https://github.com/hjwp/book-example/tree/chapter_11_ansible)
* [chapter_12_organising_test_files](https://github.com/hjwp/book-example/tree/chapter_12_organising_test_files)
* [chapter_13_database_layer_validation](https://github.com/hjwp/book-example/tree/chapter_13_database_layer_validation)
* [chapter_14_simple_form](https://github.com/hjwp/book-example/tree/chapter_14_simple_form)
* [chapter_advanced_forms](https://github.com/hjwp/book-example/tree/chapter_advanced_forms)
* [chapter_javascript](https://github.com/hjwp/book-example/tree/chapter_javascript)
* [chapter_deploying_validation](https://github.com/hjwp/book-example/tree/chapter_deploying_validation)

Part 3: More Advanced Topics in Testing

* [chapter_spiking_custom_auth](https://github.com/hjwp/book-example/tree/chapter_spiking_custom_auth)
* [chapter_mocking](https://github.com/hjwp/book-example/tree/chapter_mocking)
* [chapter_fixtures_and_wait_decorator](https://github.com/hjwp/book-example/tree/chapter_fixtures_and_wait_decorator)
* [chapter_server_side_debugging](https://github.com/hjwp/book-example/tree/chapter_server_side_debugging)
* [chapter_outside_in](https://github.com/hjwp/book-example/tree/chapter_outside_in)
* [chapter_purist_unit_tests](https://github.com/hjwp/book-example/tree/chapter_purist_unit_tests)
* [chapter_CI](https://github.com/hjwp/book-example/tree/chapter_CI)
* [chapter_page_pattern](https://github.com/hjwp/book-example/tree/chapter_page_pattern)
* [chapter_hot_lava](https://github.com/hjwp/book-example/tree/chapter_hot_lava), leave_supplier.Context():

Appendices

* [appendix_Django_Class-Based_Views](https://github.com/hjwp/book-example/tree/Based_Views)
* [book/appendix_bdd](https://github.com/hjwp/book-example/tree/appendix_bdd)
* [appendix_rest_api](https://github.com/hjwp/book-example/tree/appendix_rest_api)
* [appendix_DjangoRestFramework](https://github.com/hjwp/book-example/tree/appendix_DjangoRestFramework)