Develop high-quality and maintainable Python applications using the principles of test-driven development
About This Book
Write robust and easily maintainable code using the principles of test driven development
Get solutions to real-world problems faced by Python developers
Go from a unit testing beginner to a master through a series of step-by-step tutorials that are easy to follow
Who This Book Is For
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.
What You Will Learn
Implement the test-driven development process in Python applications
Fully leverage Python's powerful built-in unittest and doctest modules
Effectively add features to existing code bases that do not have any tests
Safely resolve problems with the code and design, without breaking any functionality
Utilize Python's powerful mock and patch functionality to test complex interactions
Integrate unit testing into the overall software delivery process
Use doctest to test code with examples
Enhance TDD with the nose2 test runner
This book starts with a look at the test-driven development process, and how it is different from the traditional way of writing code. All the concepts are presented in the context of a real application that is developed in a step-by-step manner over the course of the book. While exploring the common types of smelly code, we will go back into our example project and clean up the smells that we find.
Additionally, we will use mocking to implement the parts of our example project that depend on other systems. Towards the end of the book, we'll take a look at the most common patterns and anti-patterns associated with test-driven development, including integration of test results into the development process.
Open Source .NET Development : Programming with NAnt, NUnit, NDoc, and More
Perhaps the most revolutionary aspect of the arrival of Microsoft's .NET platform is the standardization of C# and the Common Language Runtime. Now, for the first time, programmers can develop and use open-source projects that are based on a language that is an international standard as well as compatible with both Microsoft and...
Learn iOS 8 App Development
Learn iOS 8 App Development is both a rapid tutorial and a useful reference. You'll quickly get up to speed with Swift (Apple's powerful new programming language), Cocoa Touch, and the iOS 8 SDK. It's an all-in-one getting started guide to building useful apps. You'll learn best practices that ensure your code will be...
Multiprocessor Systems-on-Chips (The Morgan Kaufmann Series in Systems on Silicon) Wolf and Jerraya have struck a delicate balance in the presentation of a specialized body of knowledge that is highly detailed and topic-specific, yet sufficiently wide-ranging to reflect the overall concept of an MPSOC as the next logical step in integrated complex system design. The text provides an eminently accessible and practical view of the...
Marketing and Selling Professional Services in Architecture and Construction
This practical book on selling and marketing will help architects, engineers, project managers, facilities managers, surveyors, and contractors ‘sell’ themselves to prospective clients.
As clients become more sophisticated at both local and international level, and as competition in the construction industry increases,...
Fasciolosis Fasciolosis, a parasitic disease caused by the liver fluke, has a tremendous impact on livestock each year. In addition, an estimated 2.4 million people are infected, and the disease is now recognized as an emerging human disease by the World Health Organization. This volume, the first comprehensive treatment devoted to these parasites and their... Bulletproofing Web Applications (With CD-ROM) “Bulletproofing” is a road map for how to integrate error prevention and detection into the development process to ensure that Web applications are robust, scalable, efficient and reliable. It explores defensive programming techniques and explains the benefits of, and how to, implement coding standards for various programming languages...