Python Testing with pytest, Second Edition

Simple, Rapid, Effective, and Scalable

by: Brian Okken

Published 2022-02-18
Internal code bopytest2
Print status In Print
Pages 272
User level Beginner
Keywords testing, pytest, scalable, python, qa
Related titles
  • Practical Programming
  • Data Science Essentials in Python
  • Complex Network Analysis in Python
  • Python Brain Teasers
  • Complex Network Analysis in Python
ISBN 9781680508604
Other ISBN Channel epub: 9781680509434
Channel PDF: 9781680509441
Kindle: 9781680509410
Safari: 9781680509427
Kindle: 9781680509410
BISACs COM051360 COMPUTERS / Programming Languages / Python
COM051330 COMPUTERS / Software Development & Engineering / Quality Assurance & Testing
COM051330 COMPUTERS / Software Development & Engineering / Quality Assurance & Testing

Highlight

Test applications, packages, and libraries large and small with pytest, Python’s most powerful testing framework. pytest helps you write tests quickly and keep them readable and maintainable. In this fully revised edition, explore pytest’s superpowers—simple asserts, fixtures, parametrization, markers, and plugins—while creating simple tests and test suites against a small database application. Using a robust yet simple fixture model, it’s just as easy to write small tests with pytest as it is to scale up to complex functional testing. This book shows you how.

Description

pytest is undeniably the best choice for testing Python projects. It’s a full-featured, flexible, and extensible testing framework. pytest’s fixture model allows you to share test data and setup procedures across multiple layers of tests. The pytest framework gives you powerful features such as assert rewriting, parametrization, markers, plugins, parallel test execution, and clear test failure reporting—with no boilerplate code.

With simple step-by-step instructions and sample code, this book gets you up to speed quickly on this easy-to-learn yet powerful tool. Write short, maintainable tests that elegantly express what you’re testing. Speed up test times by distributing tests across multiple processors and running tests in parallel. Use Python’s built-in assert statements instead of awkward assert helper functions to make your tests more readable. Move setup code out of tests and into fixtures to separate setup failures from test failures. Test error conditions and corner cases with expected exception testing, and use one test to run many test cases with parameterized testing. Extend pytest with plugins, connect it to continuous integration systems, and use it in tandem with tox, mock, coverage, and even existing unittest tests.

Write simple, maintainable tests quickly with pytest.

Contents and Extracts

Preface