Chapter 1, Introducing pytest, discusses why testing is important, gives a quick overview of the standard unittest module, and finally takes a look at pytest's main features.
Chapter 2, Writing and Running Tests, covers pytest installation, how pytest uses only the assert statement for checking values, testing module organization, and some very useful command-line options for increased productivity.
Chapter 3, Markers and Parametrization, explains how pytest markers work, how to skip tests based on certain conditions, and discusses the difference between expected failures and flaky tests (and how to deal with them). Finally, we will learn how to use the parametrize mark to apply different sets of inputs to the same piece of testing code, avoiding repetition and inviting us to cover more input cases.
Chapter 4, Fixtures, explores one of pytest's more loved features, fixtures. We also go over some built-in fixtures, and finally some tips and tricks to get more out of fixtures in your test suite.
Chapter 5, Plugins, shows how to install and search for useful plugins in the rich plugin ecosystem, and it also goes over a series of assorted plugins that the author finds interesting and/or must have in their daily work.
Chapter 6, Converting unittest suites to pytest, visits a bunch of techniques that will help you start using pytest, even if all your tests are written in the unittest framework. It covers everything from running test suites out of the box with no changes, all the way to converting them to make use of pytest features with time-tested techniques.
Chapter 7, Wrapping Up, goes over the possible next steps if you want to consolidate your pytest skills. We also take a look at the friendly pytest community and how you can get more involved.