Brian Okken
Test & Code
The Python Test Podcast hosted by Brian Okken
Where to listen?
Podcasts in the app Replaio Radio Coming soonPodcasts are coming to the app soon. Install now and be the first to see a whole new take on podcasts
Episodes
213: Repeating Tests 19.01.2024 13:47
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 these in this episode.
212: Canon TDD - by Kent Beck 13.01.2024 7:56
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 Driven Development by Example
211: Stamp out test dependencies with pytest plugins 15.12.2023 18:26
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 test dependencies Plugins discussed: pytest-randomly pytest-reverse pytest-random-order
210: TDD - Refactor while green 30.11.2023 16:09
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 16.11.2023 16:19
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 if you can't modify the code under test Also, there's a full writeup and code samples available: Blo...
208: Tests with no assert statements 30.10.2023 12:39
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 great way to dip your toe into testing.
207: pytest course, pytest-repeat and pytest-flakefinder 26.09.2023 13:52
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 completely unrelated, but mentioned in the show
206: TDD in Context 23.08.2023 20:39
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 least in the context of my software engineering career, modifications to TDD, at least the version of TDD...
205: pytest autouse fixtures 01.08.2023 29:40
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 are great reasons to use them
204: Free Your Inner Nonfiction Writer - Johanna Rothman 18.07.2023 38:18
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 17.07.2023 44:22
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 31.05.2023 49:02
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 last of 3 episodes focused on keeping a CHANGELOG. Episode 200 kicked off the series with keepachange...
201: Avoid merge conflicts on your CHANGELOG with scriv - Ned Batchelder 25.05.2023 34:06
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 them into entries in a CHANGELOG file." Links: nedbat/scriv: Changelog management tool
200: Keep a CHANGELOG 19.05.2023 46:47
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 software project teams keep changelogs while avoiding merge conflicts. Special Guest: Olivier Lacan. Links...
199: Is Azure Right for a Side Project? - Pamela Fox 04.05.2023 51:04
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 the show to help us with that question. Links: Python Bytes Episode #323 pamelafox gitHub projects Dep...
198: Testing Django Web Applications - Carlton Gibson, Will Vincent 27.04.2023 1:01:51
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 05.04.2023 33:39
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 classifiers" in the Python docs Brett Cannon joins the show to discuss these wacky bits of metadata. Here's...
196: I am not a supplier - Thomas Depierre 31.03.2023 36:50
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 08.03.2023 58:03
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 fixture system Extend the assert rewriting to make it modular Add matchers to assert mechanism Ban test cla...
193: The Good Research Code Handbook - Patrick Mineault 30.08.2022 43:05
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 best practices in software development are making it to those writing software in the sciences? Pat...
192: Learn to code through game development with PursuedPyBear - Piper Thunstrom 06.08.2022 42:16
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 available for Python is PursuedPyBear, a project started by Piper Thunstrom. Piper joins us this episode and...
191: Running your own site for fun and absolutely no profit whatsoever - Brian Wisti 01.07.2022 46:02
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 Rich Statamic jamstack.org A static site generator should be your next language learning project
190: Testing PyPy - Carl Friedrich Bolz-Tereick 21.06.2022 50:42
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 Tested? PyPy Speed Python Speed Center
189: attrs and dataclasses - Hynek Schlawack 07.06.2022 32:21
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 differences. If you ever need to create a custom class in Python, you should listen to this episode. Links:...
188: Python's Rich, Textual, and Textualize - Innovating the CLI 17.05.2022 35:32
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 Textualize Gallery Python Bytes Podcast
Similar podcasts
Replaio is not a podcast publisher; show names, artwork and audio belong to their authors and are distributed through public RSS feeds.