Book Image

Learning Python Application Development

By : Ninad Sathaye
Book Image

Learning Python Application Development

By: Ninad Sathaye

Overview of this book

Python is one of the most widely used dynamic programming languages, supported by a rich set of libraries and frameworks that enable rapid development. But fast paced development often comes with its own baggage that could bring down the quality, performance, and extensibility of an application. This book will show you ways to handle such problems and write better Python applications. From the basics of simple command-line applications, develop your skills all the way to designing efficient and advanced Python apps. Guided by a light-hearted fantasy learning theme, overcome the real-world problems of complex Python development with practical solutions. Beginning with a focus on robustness, packaging, and releasing application code, you’ll move on to focus on improving application lifetime by making code extensible, reusable, and readable. Get to grips with Python refactoring, design patterns and best practices. Techniques to identify the bottlenecks and improve performance are covered in a series of chapters devoted to performance, before closing with a look at developing Python GUIs.
Table of Contents (18 chapters)
Learning Python Application Development
Credits
Disclaimers
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Other unit testing tools


In this chapter, we have exclusively used the built-in unittest framework for writing the tests. There are several other tools available for unit testing that were not discussed. The purpose of this section is only to introduce you to the other unit testing tools available out there besides the built-in unittest module. For instance, there are tools such as nose or pytest that make it easier to write the unit tests to a large extent. Let's briefly review some of these unit testing tools.

Doctest

This is a built-in module, which looks for text that resembles Python code written in an interpreter. Here is a trivial example that shows a docstring with an example usage of the function:

def add_nums(a, b): 
    """Return sum of two numbers 

    Example usage: 
    .. doctest:: 

    >>> add_nums(10, 20) 
    30 
    """ 
    return (a + b)

Doctest identifies such code, and runs it to check if it really does what it says. This is quite an effective way to verify...