Python unit test automation practical techniques for Python developers and testers

This book shows readers how to automate unit testing of Python 3 code by introducing various Python 3 automation libraries, such as doctest, unittest, nose, nose2, and pytest. It also explores the important concepts in software testing and their implementation in Python 3. Hands-on knowledge of the...

Full description

Bibliographic Details
Main Author: Pajankar, Ashwin
Format: eBook
Language:English
Published: [United States], New York, NY Apress, Distributed to the Book trade worldwide by Springer 2017
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Report GenerationCreating an XML Report; Creating an HTML Report; Creating Color Output in the Console; Running unittest Tests from nose; Advantages of nose over unittest; Disadvantages of nose; Using Nose 2; Conclusion; Chapter 5: pytest; Introduction to pytest; Simple Test; Running Tests with the py.test Command; Test Class and Test Package in pytest; Test Discovery in pytest; xUnit-Style Fixtures; pytest Support for unittest and nose; Introduction to pytest Fixtures; Scope of pytest Fixtures; pytest.raises(); Important pytest Command-Line Options; Help
  • Introduction to xUnitUsing Unittest; Order of Execution of the Test Methods; Verbosity Control; Multiple Test Classes Within the Same Test File/Module; Test Fixtures; Running Without unittest.main(); Controlling the Granularity of Test Execution; Listing All the Command-Line Options and Help; Important Command-Line Options; Creating a Test Package; Organizing the Code; Placing the Development and Test Code in a Single Directory; Placing the Development and Test Code in Separate Directories; Test Discovery; Coding Conventions for unittest; Assertions in unittest; Other Useful Methods
  • Failing a TestExceptions in the Test Case; assertRaises(); Conclusion; Chapter 4: nose and nose2; Introduction to nose; Installing nose on Linux OS; Installing nose on MacOS and Windows; Verifying the Installation; Getting Started with nose; A Simple nose Test Case; Running the Test Module with nosetests; Getting Help; Organizing the test code; Test Discovery; Fixtures for Classes, Modules, and Methods; Fixtures for Functions; Fixtures for Packages; Alternate Names of the nose Fixtures; assert_equals(); Testing Tools; ok_ and eq_; The @raises() Decorator; The @timed() decorator
  • At a Glance; Contents; About the Author; About the Technical Reviewers; Acknowledgments; Introduction; Chapter 1: Introduction to Python; The History of Python; Features of Python; Simple; Easy to Learn; Easy to Read; Easy to Maintain; Open Source; High-Level Language; Portable; Interpreted; Object-Oriented; Extensible; Extensive Libraries; Robust; Rapid Prototyping; Memory Management; Powerful; Community Support; Python 3; The Differences Between Python 2 and Python 3; Why Use Python 3; Installation of Python 3; Installation on Linux; Installation on Debian, Ubuntu, and Derivatives
  • Installation on Fedora and CentOSInstallation on MacOS X; Installation on Windows; Running a Python Program and Python Modes; Interactive Mode; Normal Mode; IDEs for Python; IDLE; The PyDev Plugin for Eclipse; Geany; PyCharm; Conclusion; Chapter 2: Getting Started; A Brief Introduction to Software Testing Concepts; Unit Testing; Test Automation; The Benefits of Automated Unit Testing; Using Docstrings; Example of a Docstring in Python; A Brief Introduction to doctest; Failing Tests; Separate Test File; Advantages and Disadvantages of doctest; Conclusion; Chapter 3: Unittest