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



...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

70 ratings


More shows like Test & Code

View all
Radiolab by WNYC Studios

Radiolab

44,008 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

Heavy Networking by Packet Pushers

Heavy Networking

328 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

588 Listeners

Python Bytes by Michael Kennedy and Brian Okken

Python Bytes

214 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,002 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

141 Listeners

Unexplainable by Vox

Unexplainable

2,283 Listeners

Network Automation Nerds by Packet Pushers

Network Automation Nerds

3 Listeners