Test-Driven Development with Python

Obey the Testing Goat: Using Django, Selenium, and JavaScript

Specificaties
Paperback, 575 blz. | Engels
O'Reilly | 2e druk, 2014
ISBN13: 9781491958704
Rubricering
Hoofdrubriek : Computer en informatica
O'Reilly 2e druk, 2014 9781491958704
Verwachte levertijd ongeveer 16 werkdagen

Samenvatting

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 develop the minimum amount of code required to pass those tests. The result? Clean code that works.

In the process, you’ll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you’re ready to take your Python skills to the next level, this book—updated for Python 3.6—clearly demonstrates how TDD encourages simple designs and inspires confidence.

- Dive into the TDD workflow, including the unit test/code cycle and refactoring
-Use unit tests for classes and functions, and functional tests for user interactions within the browser
- Learn when and how to use mock objects, and the pros and cons of isolated vs. integrated tests
- Test and automate your deployments with a staging server
- Apply tests to the third-party plugins you integrate into your site
- Run tests automatically by using a Continuous Integration environment
- Use TDD to build a REST API with a front-end Ajax interface

Specificaties

ISBN13:9781491958704
Taal:Engels
Bindwijze:paperback
Aantal pagina's:575
Uitgever:O'Reilly
Druk:2
Verschijningsdatum:25-6-2014

Over Harry Percival

After an idyllic childhood spent playing with BASIC on French 8-bitcomputers like the Thomson T-07 whose keys go "boop" when you press them, Harry went on to study Economics and Philosophy at Cambridge University. He then spent a few years being deeply unhappy as a management consultant. Soon he rediscovered his true geek nature, and was lucky enough to fall in with a bunch of XP fanatics, working on the pioneering but sadly defunct Resolver One spreadsheet. He now works at PythonAnywhere LLP, and spreads the gospel of TDD world-wide at talks, workshops and conferences, with all the passion and enthusiasm of a recent convert.

Andere boeken door Harry Percival

Inhoudsopgave

1. Getting Django Set Up Using a Functional Test
2. Extending the Functional Test Using the Unittest Module
3. Testing a Simple Home Page with Unit Tests
4. What Are We Doing with All These Tests
5. Saving User Input: Testing the Database
6. Improving Functional Tests: Ensuring Isolation and Removing Voodoo Sleeps
7. Working Incrementally
8. Prettication: Layout and Styling, and What to Test About It
9. Testing Deployment Using a Staging Site
10. Getting to a Production-Ready Deployment
11. Automating Deployment with Fabric
12. Splitting our tests into multiple €les, and a generic wait helper
13. Validation at the Database Layer
14. A Simple Form
15. More Advanced Forms
16. Dipping Our Toes, Very Tentatively, into JavaScript
17. Deploying Our New Code
18. User Authentication, Spiking and De-Spiking-In TDD
19. Using Mocks to Test External Dependencies or Reduce Duplication
20. Test Fixtures and a Decorator for Explicit Waits
21. Server-Side Debugging
22. Finishing “My Lists”: Outside-In TDD
23. Test Isolation, and “Listening to Your Tests"
24. Continuous Integration (CI)
25. The Token Social Bit, the Page Pattern, and an Exercise for the Reader
26. Fast Tests, Slow Tests, and Hot Lava

Appendix A: Python Anywhere
Appendix B: Django Class-Based Views
Appendix C: Provisioning with Ansible
Appendix D: Testing Database Migrations
Appendix E: Behavior Driven Development
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 Next

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Test-Driven Development with Python