Test & Code

164: Debugging Python Test Failures with pytest


Listen Later

An overview of the pytest flags that help with debugging.
 From Chapter 13, Debugging Test Failures, of Python Testing with pytest, 2nd edition.

pytest includes quite a few command-line flags that are useful for debugging. 

We talk about thes flags in this episode.

Flags for selecting which tests to run, in which order, and when to stop:

  • -lf / --last-failed: Runs just the tests that failed last.
  • -ff / --failed-failed: Runs all the tests, starting with the last failed.
  • -x / --exitfirst: Stops the tests session afterEd: after?Author: yep the first failure.
  • --maxfail=num: Stops the tests after num failures.
  • -nf / --new-first: Runs all the tests, ordered by file modification time.
  • --sw / --stepwise: Stops the tests at the first failure. Starts the tests at the last failure next time.
  • --sw-skip / --stepwise-skip: Same as --sw, but skips the first failure.

Flags to control pytest output:

  • -v / --verbose Displays all the test names, passing or failing.
  • --tb=[auto/long/short/line/native/no] Controls the traceback style.
  • -l / --showlocals Displays local variables alongside the stacktrace.

Flags to start a command-line debugger:

  • --pdb Starts an interactive debugging session at the point of failure.
  • --trace Starts the pdb source-code debugger immediately when running each test.
  • --pdbcls Uses alternatives to pdb, such as IPython’s debugger with –-pdbcls=IPython.terminal.debugger:TerminalPdb.

This list is also found in Chapter 13 of Python Testing with pytest, 2nd edition.
The chapter is "Debugging Test Failures" and covers way more than just debug flags, while walking through debugging 2 test failures.


Links:

  • Python Testing with pytest — The fastest way to get up to speed on pytest.
  • all pytest flags in pytest 6.2.x

Sponsored by: 

  • The Complete pytest course is now a bundle, with each part available separately.
    • pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
    • Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
    • Then pytest Booster Rockets can help with advanced parametrization and building plugins.
  • Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.

★ Support this podcast on Patreon ★
...more
View all episodesView all episodes
Download on the App Store

Test & CodeBy Brian Okken

  • 4.7
  • 4.7
  • 4.7
  • 4.7
  • 4.7

4.7

71 ratings


More shows like Test & Code

View all
Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

379 Listeners

Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

263 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Data Skeptic by Kyle Polich

Data Skeptic

474 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

585 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

629 Listeners

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

425 Listeners

Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

Super Data Science: ML & AI Podcast with Jon Krohn

296 Listeners

Python Bytes by Michael Kennedy and Brian Okken

Python Bytes

213 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

140 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Practical AI by Practical AI LLC

Practical AI

196 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

63 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

137 Listeners