Test-Driven Development with Django by Kevin Harvey
English | July 30, 2015 | ISBN: 178528116X | 150 pages | PDF/EPUB/MOBI | 7.36 Mb
With: Code Files
English | July 30, 2015 | ISBN: 178528116X | 150 pages | PDF/EPUB/MOBI | 7.36 Mb
With: Code Files
Develop powerful, fully-featured Django applications by writing tests first
About This Book
- Deliver feature-complete projects by encoding user stories and features in functional tests
- Take a deep dive into browser-based testing with Selenium and Django's LiveServerTestCase
- An example driven, comprehensive guide to exploring test-driven development techniques with Django
This book is for Django developers with little or no knowledge of test-driven development or testing in general. Familiarity with the command line, setting up a Python virtual environment, and starting a Django project are assumed.
What You Will Learn
- Codify user stories as browser-based tests to ensure their completion
- Write isolated unit tests that not only confirm your application, but also explain it
- Use the red-green-refactor TDD cycle to create and refine your code by changing tests first
- Test integrations with external APIs by testing their documentation
- Mock out calls to external services and internal functions
- Explore the basics of documentation-driven API design
- Other testing tools available in popular Python packages such as Django REST framework and VCR.py
Test-Driven Development (TDD) simplifies the trickiest of software tasks with its unique ability to peel back problems into layers. The testing tools available in Python and Django make test writing a joy, and the full coverage test suite that results from TDD is a boon to any project.
This guide to developing with Django takes a test-first approach: write a test, then write enough production code to get it to pass. You'll quickly get hands-on experience, writing tests for a database-driven application with the TDD methodology. Use this book to build the skills and habits that make testing a regular part of your workflow.