Coder Social home page Coder Social logo

nicholasjhenry / tdd-with-python Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 348 KB

Test-Driven Development with Python

Home Page: http://www.obeythetestinggoat.com/pages/book.html

Makefile 4.23% Python 86.06% HTML 6.65% CSS 0.14% Dockerfile 2.58% Shell 0.34%
book python professional-development

tdd-with-python's Introduction

Test-Driven Development with Python

Reference: http://www.obeythetestinggoat.com/pages/book.html

Implementation

This implementation has a number of differences:

  1. The development environment is hosted in a Docker container (compared to development environment on bare metal using virutal-env)
  2. Depdencency management uses a Pipefile (instead of a requirements.txt)
  3. Heroku is used as the deployment environment. There fore Chapters, 9, 10 and 11 have not been implemented.

Setup

git clone https://github.com/nicholasjhenry/tdd-with-python.git
make docker.build
make docker.up
make app.server # visit http://localhost:8000

Testing

make test.unit
make test.functional

Progress

Part 1: The Basics of TDD and Django

  • Chapter 1: Getting Django Set Up Using a Functional Test
  • Chapter 2: Extending Our Functional Test Using the unittest Module
  • Chapter 3: Testing a Simple Home Page with Unit Tests
  • Chapter 4: What Are We Doing with All These Tests? (And, Refactoring)
  • Chapter 5: Saving User Input: Testing the Database
  • Chapter 6: Improving Functional Tests: Ensuring Isolation and Removing Voodoo Sleeps
  • Chapter 7: Working Incrementally

Part 2: Web Development Sine Qua Nons

  • Chapter 8: Prettification: Layout and Styling, and What to Test About It
  • Chapter 9: Testing Deployment Using a Staging Site
  • Chapter 10: Getting to a Production-Ready Deployment
  • Chapter 11: Automating Deployment with Fabric
  • Chapter 12: Splitting our tests into multiple files, and a generic wait helper
  • Chapter 13: Validation at the Database Layer
  • Chapter 14: A Simple Form
  • Chapter 15: More Advanced Forms
  • Chapter 16: Dipping Our Toes, Very Tentatively, into JavaScript
  • Chapter 17: Deploying Our New Code

Part 3: More Advanced Topics

  • Chapter 18: User Authentication, Spiking and De-Spiking
  • Chapter 19: Using Mocks to Test External Dependencies or Reduce Duplication
  • Chapter 20: Test Fixtures and a Decorator for Explicit Waits
  • Chapter 21: Server-Side Debugging
  • Chapter 22: Finishing "My Lists": Outside-In TDD
  • Chapter 23: Test Isolation, and "Listening to Your Tests"
  • Chapter 24: Continuous Integration (CI)
  • Chapter 25: The Token Social Bit, the Page Pattern, and an Exercise for the Reader
  • Chapter 26: Fast Tests, Slow Tests, and Hot Lava

tdd-with-python's People

Contributors

dependabot[bot] avatar nicholasjhenry avatar

Watchers

 avatar  avatar  avatar

tdd-with-python's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.