Goals

  • knwoledge to apply TDD
  • know benefits
  • apply TDD in real world projects
  • faster workflow

Benefits of TDD

  • testing gives free detailed documentation
  • short cycles of working product
  • easy to test code is easier to maintain
  • onboarding of new members is easier
  • fearless deployment

Project: API for URL shortener backend

Test building workflow

  1. failing test (red)
    • make test fail
  2. make test work (green)
  3. refactor
    • make test beautiful

Why

  • incremental changes
  • no new functionailty without failing test
  • forced to think about what we do

Additional Sources