PODCAST · technology
Test & Code
by Brian Okken
The Python Test Podcast hosted by Brian Okken
Episodes
-
238: So Long, and Thanks for All the Fish
A farewell to a fun 10 years. Also, I should have tested it better. :) In the audio I got the numbers wrong. Doh! This is episode 238, not 237. Oh well. I'll still be around, of course, at: pythontest.com - where I write about developing software with tests pythonbytes.fm - Python news and...
-
237: FastAPI Cloud - Sebastián Ramírez
In this episode, Brian interviews Sebastián Ramírez, creator of FastAPI, about its rapid rise in developer popularity and the launch of FastAPI Cloud. Sebastian explains how FastAPI Cloud addresses deployment challenges small teams face. He shares his transition from open-source to startup…
more -
236: Git Tips for Testing - Adam Johnson
In this episode, host Brian Okken and guest Adam Johnson explore essential Git features, highlighted by Adam's updated book, "Boost Your Git DX." Key topics include "cherry picking" for selective commits "git stash" for managing in-progress work "git diff", and specifically its `--name-only`…
more -
235: pytest-django - Adam Johnson
In this episode, special guest Adam Johnson joins the show and examines pytest-django, a popular plugin among Django developers. He highlights its advantages over the built-in unittest framework, including improved test management and debugging. Adam addresses transition challenges, evolving...
-
234: pytest-metadata - provides access to test session metadata
pytest-metadata is described as a plugin for pytest that provides access to test session metadata. That is such a humble description for such a massively useful plugin. If you're already using pytest-html, you have pytest-metadata already installed, as pytest-metadata is one of the dependencies…
more -
233: pytest-check - allow multiple failures per test
pytest-check is a pytest plugin that allows multiple failures per test. Normally, a test function will fail and stop running with the first failed assert. That's totally fine for tons of kinds of software tests. However, there are times where you'd like to check more than one thing, and you'd...
-
232: The role of AI in software testing - Anthony Shaw
AI is helping people write code. Tests are one of those things that some people don't like to write. Can AI play a role in creating automated software tests? Well, yes. But it's a nuanced yes. Anthony Shaw comes on the show to discuss the topic and try to get AI to write some test for my very own...
-
231: pytest-repeat - works fine on Python 3.14
pytest-repeat is a pytest plugin that makes it easy to repeat a single test, or multiple tests, a specific number of times. works fine on Python 3.14 is tested on Python 3.9-3.14 probably works fine still on 3.7 & 3.8 This episode also discusses the attempted April Fools episode. Links:...
-
230: Python 3.14 won't repeat with pytest-repeat
pytest-repeat is a pytest plugin that makes it easy to repeat a single test, or multiple tests, a specific number of times. Note: This was an April Fools attempt, so the statement ... "Unfortunately, it doesn't seem to work with Python 3.14, even though there is no rational reason why it…
more -
229: pytest-html - a plugin that generates HTML reports for test results
pytest-html has got to be one of my all time favorite plugins. pytest-html is a plugin for pytest that generates a HTML report for test results. This episode digs into some of the super coolness of pytest-html. pytest-html repo readme with screenshot enhancing reports pytest-metadata
-
228: pytest-md and pytest-md-report: Markdown reports for pytest
Markdown reports as either text or markdown tables. Two fun plugins discussed. Links: pytest-md-report pytest-md Top pytest Plugins
-
227: Mocking in Python with unittest.mock - Michael Foord
This episode is a replay of a 2021 interview I did with Michael Foord. We lost Michael in January, and I'd like to revisit this interview as a tribute. Michael Foord was a pivotal figure in the Python community and the creator of the mock library that's now unittest.mock. But he did so much more…
more -
226: pytest-mock : Mocking in pytest
pytest-mock is currently the #3 pytest plugin. pytest-mock is a wrapper around unittest.mock. In this episode: Why the pytest-mock plugin is awesome What is mocking, patching, and monkey patching What, if any, is the difference between mock, fake, spy, stub. Why we might need these in testing…
more -
225: pytest-cov : The pytest plugin for measuring coverage
pytest-cov is a pytest plugin that helps produce coverage reports using Coverage.py. In this episode, we'll discuss: what Coverage.py is why you should measure code coverage on both your source and test code what pytest-cov is extra features pytest-cov gives you over and above coverage.py and...
-
224: pytest plugins - a full series
This episode kicks off a series on pytest plugins. In this episode: Introduction to pytest plugins The pytest.org pytest plugin list Finding pytest related packages on PyPI The Top pytest plugins list on pythontest.com Exploring popular plugins Learning from plugin examples Links: Top pytest...
-
223: Writing Stuff Down is a Super Power
Taking notes well can help to listen better, remember things, show respect, be more accountable, free up mind space to solve problems. This episode discusses the benefits of writing things down preparing for a meeting taking notes in meetings reviewing notes for action items, todo items, things…
more -
222: Import within a Python package
In this episode we're talking about importing part of a package into another part of the same package. We'll look at: `from . import module` and `from .module import something` and also: `import package` to access the external API from with the package. Why would we use `import package` if `from…
more -
221: How to get pytest to import your code under test
We've got some code we want to test, and some tests. The tests need to be able to import the code under test, or at least the API to it, in order to run tests against it. How do we do that? How do we set things up so that our tests can import our code? In this episode, we discuss two options:...
-
220: Getting the most out of PyCon, including juggling - Rob Ludwick
PyCon US is just around the corner. I've asked Rob Ludwick to come on the show to discuss how to get the most out of your PyCon experience. There's a lot to do. A lot of activities to juggle, including actual juggling, which is where we start the conversation. Even if you never get a chance to go...
-
219: Building Django Apps & SaaS Pegasus - Cory Zue
I'm starting a SaaS project using Django, and there are tons of decisions right out of the gate. To help me navigate these decisions, I've brought on Cory Zue. Cory is the creator of SaaS Pegasus, and has tons of experience with Django. Some of the topics discussed: Building Django applications...
-
218: Balancing test coverage with test costs - Nicole Tietz-Sokolskaya
Nicole is a software engineer and writer, and recently wrote about the trade-offs we make when deciding which tests to write and how much testing is enough. We talk about: Balancing schedule vs testing How much testing is the right about of testing Should code coverage be measured and tracked…
more -
217: Podcasting / SaaS / Work Life Balance - Justin Jackson
If you've ever thought about starting a podcast or a SaaS project, you'll want to listen to this episode. Justin is one of the people who motivated me to get started podcasting. He's also running a successful SaaS company, transistor.fm, which hosts this podcast. Topics: Podcasting Building new...
-
216: ruff, uv, and Astral: Python tooling, much faster, with Rust
Charlie Marsh and team are using Rust to make Python tooling faster. Ruff can take the place of Flake8, isort, and Black, and so much more. uv can take the place of pip, pip-tools, and virtualenv Astral is Charlie's venture backed company, and what they have with `ruff` and `uv` is just the…
more -
215: Staying Technical as a Manager
Software engineers that move into leadership roles have a struggle between learning leadership skills, maintaining technical skills, and learning new leadership and technical skills. Matt Makai went from individual contributor to developer relations to leadership in devrel. We discuss how to stay...
-
214: Python Testing in VS Code
If you haven't tried running automated tests, especially with pytest, in VS Code recently, you should take another look. The Python for VS Code interface for testing, especially for pytest, has changed recently. On this episode we discuss the change with the software engineer working on the…
more -
213: Repeating Tests
If a test fails in a test suite, I'm going to want to re-run the test. I may even want to re-run a test, or a subset of the suite, a bunch of times. There are a few pytest plugins that help with this: pytest-repeat pytest-rerunfailures pytest-flakefinder pytest-instafail We talk about each of…
more -
212: Canon TDD - by Kent Beck
In 2002, Kent Beck released a book called "Test Driven Development by Example". In December of 2023, Kent wrote an article called "Canon TDD". With Kent's permission, this episode contains the full content of the article. Brian's commentary is saved for a followup episode. Links: Canon TDD Test...
-
211: Stamp out test dependencies with pytest plugins
We want to be able to run tests in a suite, and debug them in isolation, and have the behavior be the same. If the behavior is different in isolation vs in a suite, it's a nightmare to debug. In this episode, we'll talk about: Causes of dependence Testing for dependencies using plugins Debugging...
-
210: TDD - Refactor while green
Test Driven Development. Red, Green, Refactor. Do we have to do the refactor part? Does the refactor at the end include tests? Or can I refactor the tests at any time? Why is refactor at the end? This episode is to talk about this with a an example.
-
209: Testing argparse Applications
How do you test the argument parsing bit of an application that uses argparse? This episode covers: Design for Test: Structuring your app or script so it's easier to test. pytest & capsys for testing stdout Adding debug and preview flags for debugging and testing And reverting to subprocess.run…
more -
208: Tests with no assert statements
Why on earth would you want to write a test with no assert statements? After all, aren't assert statements how you decide wether a test passes or fails? In this episode, we walk through a handful of useful examples of test code without asserts. We also talk about how these types of tests are a...
-
207: pytest course, pytest-repeat and pytest-flakefinder
New course: "The Complete pytest Course" pytest-repeat, which I'm starting to contribute to Give `--repeat-scope` a try. You can use it to change from repeating every test to repeating the session, module, or class. pytest-flakefinder, which is an alternative to pytest-repeat pytest-check is...
-
206: TDD in Context
TDD (Test Driven Development) started from Test First Programming, and has been around at least since the 90's. However, software tools and available CI systems have changed quite a bit since then. Maybe it's time to re-examine the assumptions, practices, processes, and principles of TDD. At…
more -
205: pytest autouse fixtures
On a recent episode of PythonBytes, I suggested it's hard to come up with good examples for pytest autouse fixtures, as there aren't very many good reasons to use them. James Falcon was kind enough to reach out and correct me. In this episode, we describe: what fixtures are what autouse fixtures...
-
204: Free Your Inner Nonfiction Writer - Johanna Rothman
Learn how to write nonfiction fast and well. Johanna Rothman joins the show to discuss writing nonfiction. Johanna's book: Free Your Inner Nonfiction Writer
-
203: Open Source at Intel
Open Source is important to Intel and has been for a very long time. Joe Curley, vice president and general manager of software products and ecosystem, and Arun Gupta, vice president and general manager for open ecosystems, join the show to discuss open source, OneAPI, and open ecosystems at Intel.
-
202: Using Towncrier to Keep a Changelog - Hynek Schlawack
Hynek joins the show to discuss towncrier. At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project." Towncrier is used by "Twisted, pytest, pip, BuildBot, and attrs, among others." This is the...
-
201: Avoid merge conflicts on your CHANGELOG with scriv - Ned Batchelder
Last week we talked about the importance of keeping a changelog. This week we talk with Ned Batchelder about scriv, a tool to help maintain that changelog. Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates...
-
200: Keep a CHANGELOG
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. This episode is about what a changelog is, with an interview with Olivier Lacan, creator of keepachangelog.com. The next two episodes talk about some tools to help…
more -
199: Is Azure Right for a Side Project? - Pamela Fox
For a web side project to go from "working on desktop" to "live in the cloud", one decision that needs to be made is where to host everything. One option is Microsoft Azure. Lots of corporate sites use it. Is it right for side projects? Pamela Fox, a Cloud Advocate for Python at Microsoft, joins...
-
198: Testing Django Web Applications - Carlton Gibson, Will Vincent
Django has some built in ways to test your application. There's also pytest-django and other plugins that help with testing. Carlton Gibson and Will Vincent from the Django Chat Podcast join the show to discuss how to get started testing your Django application.
-
197: Python project trove classifiers - Do you need this bit of pyproject.toml metadata? - Brett Cannon
Classifiers are one bit of Python project metadata that predates PyPI. Classifiers are weird. They were around in setuptools days, and are still here with pyproject.toml. What are they? Why do we need them? Do we need them? Which classifiers should I include? Why are they called "trove…
more -
196: I am not a supplier - Thomas Depierre
Should we think of open source components the same way we think of physical parts for manufactured goods? There are problems with supply chain analogy when applied to software. Thomas Depierre discusses some of those issues in this episode. Links: I am not a supplier - article
-
195: What would you change about pytest? - Anthony Sottile
Anthony Sottile and Brian discuss changes that would be cool for pytest, even unrealistic changes. These are changes we'd make to pytest if we didn't ahve to care about backwards compatibilty. Anthony's list: The import system Multi-process support out of the box Async support Changes to the...
-
193: The Good Research Code Handbook - Patrick Mineault
I don't think it's too much of a stretch to say that software is part of most scientific research now. From astronomy, to neuroscience, to chemistry, to climate models. If you work in research that hasn't been affected by software yet, just wait. But how good is that software? How much of common...
-
192: Learn to code through game development with PursuedPyBear - Piper Thunstrom
The first game I remember coding, or at least copying from a magazine, was in Basic. It was Lunar Lander. Learning to code a game is a way that a lot of people get started and excited about programming. Of course, I don't recommend Basic. Now we've got Python. And one of the game engines…
more -
191: Running your own site for fun and absolutely no profit whatsoever - Brian Wisti
Having a personal site is a great playground for learning tons of skills. Brian Wisti discusses the benefits of running a his own blog over the years. Links: Random Geekery Jamstack Eleventy Netlify Plausible Analytics pytest Beautiful Soup pyinvoke - Invoke! rsync Internet Archive : archive.org...
-
190: Testing PyPy - Carl Friedrich Bolz-Tereick
PyPy is a fast, compliant alternative implementation of Python. cPython is implemented in C. PyPy is implemented in Python. What does that mean? And how do you test something as huge as an alternative implementation of Python? Special Guest: Carl Friedrich Bolz-Tereick. Links: PyPy How is PyPy...
-
189: attrs and dataclasses - Hynek Schlawack
In Python, before dataclasses, we had attrs. Before attrs, it wasn't pretty. The story of attrs and dataclasses is actually intertwined. They've built on each other. And in the middle of it all, Hynek. Hynek joins the show today to discuss some history of attrs and dataclasses, and some...
-
188: Python's Rich, Textual, and Textualize - Innovating the CLI
Will McGugan has brought a lot of color to CLIs within Python due to Rich. Then Textual started rethinking full command line applications, including layout with CSS. And now Textualize, a new startup, is bringing CLI apps to the web. Links: rich rich-cli textual Textualize.io Rich Gallery...
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
ABOUT THIS SHOW
The Python Test Podcast hosted by Brian Okken
HOSTED BY
Brian Okken
CATEGORIES
Loading similar podcasts...