Test-driven development with Python obey the testing goat : using Django, Selenium, and JavaScript

By taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You’ll learn how to write and run tests before building each part of your app, and then...

Full description

Bibliographic Details
Other Authors: Percival, Harry J. W., author (author)
Format: eBook
Language:Inglés
Published: Beijing, [China] : O'Reilly 2017.
Edition:Second edition
Subjects:
See on Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631846806719
Table of Contents:
  • Getting Django set up using a functional test
  • Extending our functional test using the unittest module
  • Testing a simple home page with unit tests
  • What are we doing with all these tests? (And, refactoring)
  • Saving user input : testing the database
  • Improving functional tests : ensuring isolation and removing Voodoo sleeps
  • Working incrementally
  • Prettification : layout and styling, and what to test about it
  • Testing deployment using a staging site
  • Getting to a production-ready deployment
  • Automating deployment with fabric
  • Splitting our tests into multiple files, and a generic wait helper
  • Validation at the database layer
  • A simple form
  • More advanced forms
  • Dipping our toes, very tentatively, into JavaScript
  • Deploying our new code
  • User authentication, spiking, and de-spiking
  • Using mocks to test external dependencies or reduce duplication
  • Test fixtures and a decorator for explicit waits
  • Server-side debugging
  • Finishing "my lists" : outside-in TDD
  • Test isolation, and "listening to your tests"
  • Continuous integration (CI)
  • The token social bit, the page pattern, and an exercise for the reader
  • Fast tests, slow tests, and hot lava
  • Obey the testing goat!
  • Appendix A: PythonAnywhere
  • Appendix B: Django class-based views
  • Appendix C: Provisioning with ansible
  • Appendix D: Testing database migrations
  • Appendix E: Behaviour-driven development (BDD)
  • Appendix F: Building a REST API : JSON, Ajax, and mocking with JavaScript
  • Appendix G : Django-rest-framework
  • Appendix H : Cheat sheet
  • Appendix I : What to do ndext
  • Appendix J : Source code examples.