# book-example **Repository Path**: Ramcuby/book-example ## Basic Information - **Project Name**: book-example - **Description**: Example code for my book on TDD with Python - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-17 - **Last Updated**: 2021-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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 2017-02-24: Part 1: * [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_unit_test_first_view](https://github.com/hjwp/book-example/tree/chapter_unit_test_first_view) * [chapter_philosophy_and_refactoring](https://github.com/hjwp/book-example/tree/chapter_philosophy_and_refactoring) * [chapter_post_and_database](https://github.com/hjwp/book-example/tree/chapter_post_and_database) * [chapter_explicit_waits_1](https://github.com/hjwp/book-example/tree/chapter_explicit_waits_1) * [chapter_working_incrementally](https://github.com/hjwp/book-example/tree/chapter_working_incrementally) Part 2: * [chapter_prettification](https://github.com/hjwp/book-example/tree/chapter_prettification) * [chapter_manual_deployment](https://github.com/hjwp/book-example/tree/chapter_manual_deployment) * [chapter_automate_deployment_with_fabric](https://github.com/hjwp/book-example/tree/chapter_automate_deployment_with_fabric) * [chapter_organising_test_files](https://github.com/hjwp/book-example/tree/chapter_organising_test_files) * [chapter_database_layer_validation](https://github.com/hjwp/book-example/tree/chapter_database_layer_validation) * [chapter_simple_form](https://github.com/hjwp/book-example/tree/chapter_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) Part 3: * [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) Appendices: * [appendix_Django_Class-Based_Views](https://github.com/hjwp/book-example/tree/appendix_Django_Class-Based_Views) * [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)