A dinosaur learns poetry
Not a real dinosaur and not real poetry. Just me updating my Python project setup knowledge.
Not a real dinosaur and not real poetry. Just me updating my Python project setup knowledge.
Not only should the final commit in a pull request patch series pass all its tests but also each commit back to where the pull request branched from main. A...
As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. Below I disc...
Setting up an existing Python project from a fresh clone shouldn’t be a chore. Automate the process with a setup script.
As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...
A couple of years ago I stumbled across the FreezeGun library. It’s been a great help in making the date/time-related intent in my Python tests much clearer....
When developing Django applications it’s sometimes necessary to revert (i.e. undo) a migration, especially if something didn’t quite work as planned. If som...
A case of disappearing text in an auto-generated PDF document led me to dig deeper and learn more about ReportLab: a PDF generation library. Here’s the stor...
Sometimes Selenium can lose browser focus when running tests, which can cause timeout errors when testing click events in a web application. Here I discuss ...
Ever had the problem that your automated Django tests wouldn’t work because you didn’t have permissions to create the given extension and you thought: “WTF? ...
Recently at $work I found that our test suite was taking longer and longer to run and had begun to slow down development. A long-running test suite smells of...