Test-Driven Development with Python

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

Author: Harry J.W. Percival

Publisher: "O'Reilly Media, Inc."

ISBN: 1491958677

Category: Computers

Page: 614

View: 1003

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

Test-Driven Development with Django

Author: Kevin Harvey

Publisher: Packt Publishing Ltd

ISBN: 1785287532

Category: Computers

Page: 186

View: 2650

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.

Test-Driven Python Development

Author: Siddharta Govindaraj

Publisher: Packt Publishing Ltd

ISBN: 1783987936

Category: Computers

Page: 264

View: 640

This book is intended for Python developers who want to use the principles of test-driven development (TDD) to create efficient and robust applications. In order to get the best out of this book, you should have development experience with Python.

Test-driven Development

By Example

Author: Kent Beck

Publisher: Addison-Wesley Professional

ISBN: 0321146530

Category: Computers

Page: 220

View: 686

Write clean code that works with the help of this groundbreaking software method. Example-driven teaching is the basis of Beck's step-by-step instruction that will have readers using TDD to further their projects.

Testing Python

Applying Unit Testing, TDD, BDD and Acceptance Testing

Author: David Sale

Publisher: John Wiley & Sons

ISBN: 111890124X

Category: Computers

Page: 240

View: 2606

Fundamental testing methodologies applied to the popular Python language Testing Python; Applying Unit Testing, TDD, BDD and Acceptance Testing is the most comprehensive book available on testing for one of the top software programming languages in the world. Python is a natural choice for new and experienced developers, and this hands-on resource is a much needed guide to enterprise-level testing development methodologies. The book will show you why Unit Testing and TDD can lead to cleaner, more flexible programs. Unit Testing and Test-Driven Development (TDD) are increasingly must-have skills for software developers, no matter what language they work in. In enterprise settings, it's critical for developers to ensure they always have working code, and that's what makes testing methodologies so attractive. This book will teach you the most widely used testing strategies and will introduce to you to still others, covering performance testing, continuous testing, and more. Learn Unit Testing and TDD—important development methodologies that lie at the heart of Agile development Enhance your ability to work with Python to develop powerful, flexible applications with clean code Draw on the expertise of author David Sale, a leading UK developer and tech commentator Get ahead of the crowd by mastering the underappreciated world of Python testing Knowledge of software testing in Python could set you apart from Python developers using outmoded methodologies. Python is a natural fit for TDD and Testing Python is a must-read text for anyone who wants to develop expertise in Python programming.

Test-driven Development

A Practical Guide

Author: David Astels

Publisher: Prentice Hall

ISBN: 9780131016491

Category: Computers

Page: 562

View: 5738

* *A practical complimentary book to Kent Beck's Test-Driven Development *Ensures robust, bug-free software by advocating testing before coding *Key points are illuminated by examples in Java

Test Driven Development in Ruby

A Practical Introduction to TDD Using Problem and Solution Domain Analysis

Author: Bala Paranj

Publisher: Apress

ISBN: 1484226380

Category: Computers

Page: 288

View: 1278

Learn the basics of test driven development (TDD) using Ruby. You will carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first. These fundamental concepts will give you a solid TDD foundation to build upon. Test Driven Development in Ruby is written by a developer for developers. The concepts are first explained, then a coding demo illustrates how to apply the theory in practice. At the end of each chapter an exercise is given to reinforce the material. Complete with working files and code samples, you'll be able to work alongside the author, a trainer, by following the material in this book. What You Will Learn Carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first Use assertions Discover the structure of a test and the TDD cycle Gain an understanding of minimal implementation, starter test, story test, and next test Handle refactoring using Ruby Hide implementation details Test precisely and concretely Make your code robust Who This Book Is For Experienced Ruby programmers or web developers with some prior experience with Ruby.

Python Unit Test Automation

Practical Techniques for Python Developers and Testers

Author: Ashwin Pajankar

Publisher: Apress

ISBN: 1484226771

Category: Computers

Page: 111

View: 8178

Quickly learn how to automate unit testing of Python 3 code with Python 3 automation libraries, such as doctest, unittest, nose, nose2, and pytest. This book explores the important concepts in software testing and their implementation in Python 3 and shows you how to automate, organize, and execute unit tests for this language. This knowledge is often acquired by reading source code, manuals, and posting questions on community forums, which tends to be a slow and painful process. Python Unit Test Automation will allow you to quickly ramp up your understanding of unit test libraries for Python 3 through the practical use of code examples and exercises. All of which makes this book a great resource for software developers and testers who want to get started with unit test automation in Python 3 and compare the differences with Python 2. This short work is your must-have quick start guide to mastering the essential concepts of software testing in Python. What You'll Learn: Essential concepts in software testing Various test automation libraries for Python, such as doctest, unittest, nose, nose2, and pytest Test-driven development and best practices for test automation in Python Code examples and exercises Who This Book Is For: Python developers, software testers, open source enthusiasts, and contributors to the Python community

Python Testing Cookbook

Easy solutions to test your Python projects using test-driven development and Selenium, 2nd Edition

Author: Greg L. Turnquist,Bhaskar N. Das

Publisher: Packt Publishing Ltd

ISBN: 1787281507

Category: Computers

Page: 396

View: 7494

Fix everyday testing problems in Python with the help of this solution-based guide Key Features Use powerful tools such as doctest and unittest to make testing convenient Apply automation testing to an existing legacy system that isn't test oriented A practical guide to ease testing in Python using real-world examples Book Description Automated testing is the best way to increase efficiency while reducing the defects of software testing. It helps find bugs in code easily and at an early stage so that they can be tackled efficiently. This book delves into essential testing concepts used in Python to help you build robust and maintainable code. Python Testing Cookbook begins with a brief introduction to Python's unit testing framework to help you write automated test cases. You will learn how to write suitable test sets for your software and run automated test suites with Nose. You will then work with the unittest.mock library, which allows you to replace the parts of your system that are being tested with mock objects and make assertions about how they have been used. You will also see how to apply Test-driven Development (TDD) and Behavior-driven Development (BDD) and how to eliminate issues caused by TDD. The book explains how to integrate automated tests using Continuous Integration and perform smoke/load testing. It also covers best practices and will help you solve persistent testing issues in Python. The book concludes by helping you understand how doctest works and how Selenium can be used to test code efficiently. What you will learn Run test cases from the command line with increased verbosity Write a Nose extension to pick tests based on regular expressions Create testable documentation using doctest Use Selenium to test the Web User Interface Write a testable story with Voidspace Mock and Nose Configure TeamCity to run Python tests on commit Update project-level scripts to provide coverage reports Who this book is for If you’re a Python developer who wants to take testing to the next level and would like to expand your testing skills, this book is for you. It is assumed that you have some Python programming knowledge.

Test-Driven iOS Development

Author: Graham Lee

Publisher: Addison-Wesley

ISBN: 0132764059

Category: Computers

Page: 256

View: 4924

As iOS apps become increasingly complex and business-critical, iOS developers must ensure consistently superior code quality. This means adopting best practices for creating and testing iOS apps. Test-Driven Development (TDD) is one of the most powerful of these best practices. Test-Driven iOS Development is the first book 100% focused on helping you successfully implement TDD and unit testing in an iOS environment. Long-time iOS/Mac developer Graham Lee helps you rapidly integrate TDD into your existing processes using Apple’s Xcode 4 and the OCUnit unit testing framework. He guides you through constructing an entire Objective-C iOS app in a test-driven manner, from initial specification to functional product. Lee also introduces powerful patterns for applying TDD in iOS development, and previews powerful automated testing capabilities that will soon arrive on the iOS platform. Coverage includes Understanding the purpose, benefits, and costs of unit testing in iOS environments Mastering the principles of TDD, and applying them in areas from app design to refactoring Writing usable, readable, and repeatable iOS unit tests Using OCUnit to set up your Xcode project for TDD Using domain analysis to identify the classes and interactions your app needs, and designing it accordingly Considering third-party tools for iOS unit testing Building networking code in a test-driven manner Automating testing of view controller code that interacts with users Designing to interfaces, not implementations Testing concurrent code that typically runs in the background Applying TDD to existing apps Preparing for Behavior Driven Development (BDD) The only iOS-specific guide to TDD and unit testing, Test-Driven iOS Development covers both essential concepts and practical implementation.

Python Testing

Beginner's Guide

Author: Daniel Arbuckle

Publisher: Packt Publishing Ltd

ISBN: 1847198856

Category: Computers

Page: 256

View: 2584

The book begins with the very foundations of automated testing, and expands on them until the best-practice tools and techniques are fully covered. New concepts are illustrated with step-by-step hands-on exercises. Testing will be easier and more enjoyable with this beginner's guide. If you are a Python developer and want to write tests for your applications, this book will get you started and show you the easiest way to learn testing. You need to have sound Python programming knowledge to follow along. An awareness of software testing would be good, but no formal knowledge of testing is expected nor do you need to have any knowledge of the libraries discussed in the book.

Python Web Development with Django

Author: Jeff Forcier,Paul Bissex,Wesley J Chun

Publisher: Addison-Wesley Professional

ISBN: 0132701812

Category: Computers

Page: 408

View: 7459

Using the simple, robust, Python-based Django framework, you can build powerful Web solutions with remarkably few lines of code. In Python Web Development with Django®, three experienced Django and Python developers cover all the techniques, tools, and concepts you need to make the most of Django 1.0, including all the major features of the new release. The authors teach Django through in-depth explanations, plus provide extensive sample code supported with images and line-by-line explanations. You’ll discover how Django leverages Python’s development speed and flexibility to help you solve a wide spectrum of Web development problems and learn Django best practices covered nowhere else. You’ll build your first Django application in just minutes and deepen your real-world skills through start-to-finish application projects including Simple Web log (blog) Online photo gallery Simple content management system Ajax-powered live blogger Online source code sharing/syntax highlighting tool How to run your Django applications on the Google App Engine This complete guide starts by introducing Python, Django, and Web development concepts, then dives into the Django framework, providing a deep understanding of its major components (models, views, templates), and how they come together to form complete Web applications. After a discussion of four independent working Django applications, coverage turns to advanced topics, such as caching, extending the template system, syndication, admin customization, and testing. Valuable reference appendices cover using the command-line, installing and configuring Django, development tools, exploring existing Django applications, the Google App Engine, and how to get more involved with the Django community. Introduction 1 Part I: Getting Started Chapter 1: Practical Python for Django 7 Chapter 2: Django for the Impatient: Building a Blog 57 Chapter 3: Starting Out 77 Part II: Django in Depth Chapter 4: Defining and Using Models 89 Chapter 5: URLs, HTTP Mechanisms, and Views 117 Chapter 6: Templates and Form Processing 135 Part III: Django Applications by Example Chapter 7: Photo Gallery 159 Chapter 8: Content Management System 181 Chapter 9: Liveblog 205 Chapter 10: Pastebin 221 Part IV: Advanced Django Techniques and Features Chapter 11: Advanced Django Programming 235 Chapter 12: Advanced Django Deployment 261 Part V: Appendices Appendix A: Command Line Basics 285 Appendix B: Installing and Running Django 295 Appendix C: Tools for Practical Django Development 313 Appendix D: Finding, Evaluating, and Using Django Applications 321 Appendix E: Django on the Google App Engine 325 Appendix F: Getting Involved in the Django Project 337 Index 339 Colophon 375

Python 3 Web Development Beginner's Guide

Author: Michel Anders

Publisher: Packt Publishing Ltd

ISBN: 1849513759

Category: Computers

Page: 336

View: 4483

Part of Packt's Beginner's Guide Series, this book follows a sample application, with lots of screenshots, to help you get to grips with the techniques as quickly as possible. Moderately experienced Python programmers who want to learn how to create fairly complex, database-driven, cross browser compatible web apps that are maintainable and look good will find this book of most use. All key technologies except for Python 3 are explained in detail.

Python Web Programming

Author: Steve Holden,David M. Beazley

Publisher: Sams Publishing

ISBN: 9780735710900

Category: Computers

Page: 691

View: 5466

A Python community leader teaches professionals how to integrate web applications with Python.

Test-Driven Development with Mockito

Author: Sujoy Acharya

Publisher: Packt Publishing Ltd

ISBN: 1783283300

Category: Computers

Page: 172

View: 7348

This book is a hands-on guide, full of practical examples to illustrate the concepts of Test Driven Development.If you are a developer who wants to develop software following Test Driven Development using Mockito and leveraging various Mockito features, this book is ideal for you. You don’t need prior knowledge of TDD, Mockito, or JUnit. It is ideal for developers, who have some experience in Java application development as well as a basic knowledge of unit testing, but it covers the basic fundamentals of TDD and JUnit testing to get you acquainted with these concepts before delving into them.

Flask: Building Python Web Services

Author: Gareth Dwyer,Shalabh Aggarwal,Jack Stouffer

Publisher: Packt Publishing Ltd

ISBN: 1787285448

Category: Computers

Page: 770

View: 9783

Unleash the full potential of the Flask web framework by creating small to large and powerful web applications About This Book Create your own world-class applications and master the art of Flask by unravelling its enigma through this journey Packed with recipes containing lots of sample applications to help you understand the intricacies of Flask web programming Work with scalable Flask application structures to create complex web apps Who This Book Is For This learning path is ideal developers who know the basics of Python and want to learn how to use the Flask framework to build powerful web solutions in Python. What You Will Learn Build three web applications from the ground up using the powerful Python micro framework, Flask. Extend your applications to build advanced functionality, such as a user account control system using Flask-Login Learn about web application security and defend against common attacks, such as SQL injection and XSS Integrate with technologies like Redis, Sentry, MongoDB and so on Build applications with integrations to most of the login mechanisms available Don't just stop at development. Learn about deployment and post-deployment Use SQLAlchemy to programmatically query a database Develop a custom Flask extension In Detail Are you a fan of Python? Want to use it to create powerful web applications? Then Flask is the perfect choice for you. This course will take you through the intricacies of the Flask Microframework, covering all it's components and elements and how to integrate it with useful third party libraries. Dive deep into what Flask has to offer and then you will create multiple Python apps from scratch on your own. The first module will introduce you to web development using Flask to building fully functional web applications. Hands-on and pragmatic, this tutorial goes right to the crux of Flask by showing you how to build challenging real-world applications. The second module introduces you to a number of recipes that will help you understand the power of Flask and its extensions. Start by seeing the different configurations that a Flask application can make use of. By the end of this module, you will have gained all the knowledge required to write Flask applications in the best possible way, and scale them with best practices. The final module will walk you through advanced Flask topics while providing practical examples of for all your lessons learned. The module closes with a discussion of the different platforms that are available to deploy a Flask app on, the pros and cons of each one, and how to deploy on each one. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: Flask By-Example: Gareth Dwyer Flask Framework Cookbook: Shalabh Aggarwal Mastering Flask: Jack Stouffer Style and approach Filled with practical examples and recipes, this course is a great combination of example-driven learning complemented by exciting techniques to build powerful Python web applications with the Flask framework

Flask Web Development

Developing Web Applications with Python

Author: Miguel Grinberg

Publisher: "O'Reilly Media, Inc."

ISBN: 1491991690

Category: Computers

Page: 316

View: 792

Take full creative control of your web applications with Flask, the Python-based microframework. With the second edition of this hands-on book, you’ll learn the framework from the ground up by developing, step-by-step, a real-world project created by author Miguel Grinberg. This refreshed edition accounts for important technology changes that have occurred in the past three years. You’ll learn the framework’s core functionality, as well as how to extend applications with advanced web techniques such as database migration and web service communication. The first part of each chapter provides you with reference and background for the topic in question, while the second part guides you though a hands-on implementation of the topic. If you have Python experience, this book shows you how to take advantage of the creative freedom Flask provides.

Thoughtful Machine Learning

A Test-Driven Approach

Author: Matthew Kirk

Publisher: "O'Reilly Media, Inc."

ISBN: 1449374107

Category: Computers

Page: 236

View: 5452

Learn how to apply test-driven development (TDD) to machine-learning algorithms—and catch mistakes that could sink your analysis. In this practical guide, author Matthew Kirk takes you through the principles of TDD and machine learning, and shows you how to apply TDD to several machine-learning algorithms, including Naive Bayesian classifiers and Neural Networks. Machine-learning algorithms often have tests baked in, but they can’t account for human errors in coding. Rather than blindly rely on machine-learning results as many researchers have, you can mitigate the risk of errors with TDD and write clean, stable machine-learning code. If you’re familiar with Ruby 2.1, you’re ready to start. Apply TDD to write and run tests before you start coding Learn the best uses and tradeoffs of eight machine learning algorithms Use real-world examples to test each algorithm through engaging, hands-on exercises Understand the similarities between TDD and the scientific method for validating solutions Be aware of the risks of machine learning, such as underfitting and overfitting data Explore techniques for improving your machine-learning models or data extraction

Foundations of Agile Python Development

Author: Jeff Younker

Publisher: Apress

ISBN: 1430206357

Category: Computers

Page: 416

View: 7159

The agile development movement represents the latest advances in tools and techniques intended to boost developer productivity. This is the first book to apply these sought after principles to Python developers, introducing both the tools and techniques built and supported by the Python community. Authored by Jeff Younker, who is perhaps best known for his creation of a popular Python testing framework, this book is sure to be a hit among readers who may have reached their limits of knowledge regarding the Python language, yet are seeking to improve their understanding of how sound processes can boost productivity to unparalleled heights.

Test-Driven Development

A J2EE Example

Author: Thomas Hammell,David Gold,Tom Snyder

Publisher: Apress

ISBN: 1430203994

Category: Computers

Page: 278

View: 4582

* This will be the first book to show how to implement a test-driven development process in detail as it applies to real world J2EE applications. * Combines the tools and methodologies of test-driven development with real world use cases, unlikely most titles which cover one or the other. * Looks at the complete process including test coverage strategies, test organization, incorporating TDD into new and existing projects as well as how to automate it all. * This book is not version specific.