testing

  • A test double that had drifted from the real thing

    An in-memory repository passing every test, and a real one that had gained a behaviour the fake did not have. A constraint added to the database is a…

  • A year of an assistant in the editor, measured

    A year of using a model-backed assistant, and an attempt to say something specific about it. Every claim about this is a demonstration or a complaint.

  • Testing a migration forwards on a copy of production

    A migration tested against an empty schema, run against nine hundred million rows, and taking four hours instead of four seconds. The restore drill already produced a full…

  • Managing WordPress entirely through Composer

    turkerdev/wp-composer, and an install where nothing is committed except a lock file. Core, themes and plugins as dependencies.

  • A build with no bundler

    A site with 18 KB of JavaScript and a build pipeline sized for something larger. What a bundler provides, listed, and which of it is needed.

  • An assertion on a query count that finally broke

    A test asserting fewer than ten queries, written in 2023, failing in July because a legitimate feature added an eleventh. A bound that fails on a legitimate change…

  • A compatibility suite retired after a year

    A monthly job comparing two servers, kept for thirteen months to preserve an option, and switched off once the option stopped mattering. The tests were the valuable artefact…

  • The PSR-18 client I wrote for one API

    A supplier API with a signing scheme, a rate limit and a pagination style of its own, and the same four concerns implemented in three places.

  • A licence that came back, and the migration we had prepared

    The first of May, an AGPL release, and a decision from April 2024 that can finally be closed — in the direction nobody planned for.

  • A package I published, and the API design I got wrong twice

    turkerdev/php-figma-api, a typed client for a third-party REST API, and two design mistakes that only appear once somebody else uses it.