ENGLISH

Python Unit Test Automation: Practical Techniques for Python Developers and Testers

Book information

Publisher
Apress
Year
2017
ISBN
9781484226773, 1484226771
Language
english
Format
PDF
Filesize
2 MB (1771482 bytes)
Pages
111\123
Time added
2020-07-25 17:56:41

Description

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 Contents 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 CentOS Installation 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 Introduction to xUnit Using 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 Test Exceptions 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 Report Generation Creating 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 Stopping After the First (or N) Failures Profiling Test Execution Duration JUnit-Style Logs Generating a Plain Result Sending a Test Report to Online pastebin Service Conclusion Chapter 6: Tips and Tricks Coding and Filenaming Conventions for Easier Test Discovery Test-Driven Development with pytest Conclusion Index

Similar books