174: pseudo-TDD - Paul Ganssle
In this episode, I talk with Paul Ganssle about a fun workflow that he calls pseudo-TDD.
Pseudo-TDD is a way to keep your commit history clean and your tests passing with each commit.
This workflow includes using pytest xfail and some semi-advanced version control features.
Pseudo-TDD is a way to keep your commit history clean and your tests passing with each commit.
This workflow includes using pytest xfail and some semi-advanced version control features.
Some strict forms of TDD include something like this:
- write a failing test that demonstrates a lacking feature or defect
- write the source code to get the test to pass
- refactor if necessary
- repeat
In reality, at least for me, the software development process is way more messy than this, and not so smooth and linear.
Pauls workflow allow you to develop non-linearly, but commit cleanly.
Links:
- A pseudo-TDD workflow using expected failures
- episode 171: How and why I use pytest's xfail - Paul Ganssle
- episode 165: pytest xfail policy and workflow
- episode 162: Flavors of TDD
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.
Creators and Guests

Guest
Paul Ganssle
Programmer working @Google in NYC. Maintainer of python-dateutil, Python core developer and general FOSS contributor.
