𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

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

✍ Scribed by Percival, Harry


Publisher
O'Reilly Media
Year
2017
Tongue
English
Leaves
767
Edition
Second edition
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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.

✦ 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.

✦ Subjects


Application software--Development;Application software--Testing;COMPUTERS / Programming Languages / Python;COMPUTERS / Programming / Open Source;COMPUTERS / Web / Web Programming;Object-oriented programming (Computer science);Python (Computer program language);Web site development;Application software -- Development;Application software -- Testing


πŸ“œ SIMILAR VOLUMES


Test-Driven Development with Python: Obe
✍ Harry Percival πŸ“‚ Library πŸ“… 2017 πŸ› O'Reilly Media 🌐 English

By taking you through the development of a real web application from beginning to end, the updated 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,

Test-Driven Development with Python: Obe
✍ Harry J. W. Percival πŸ“‚ Library πŸ“… 2017 πŸ› O’Reilly Media 🌐 English

<div><p>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 <i>before</i> building each part of you

Test-Driven Development with Python: Obe
✍ Harry J. W. Percival πŸ“‚ Library πŸ“… 2014 πŸ› O'Reilly Media 🌐 English

<div><p>By taking you through the development of a real web application from beginning to end, 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 develop the m

Test-Driven Development with Python: Obe
✍ Harry J. W. Percival πŸ“‚ Library πŸ“… 2014 πŸ› O'Reilly Media 🌐 English

<div><p>By taking you through the development of a real web application from beginning to end, 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 develop the m

Test-Driven Development with Python: Obe
✍ Harry J. W. Percival πŸ“‚ Library πŸ“… 2017 πŸ› O’Reilly Media 🌐 English

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