Testing Concurrent Requests and Race Conditions
A race that appears once a week is a test waiting to be made deterministic.
Read articleThe Powerduck Blog
Product updates, engineering notes, and guides for designing, debugging, testing, mocking, and serving MCP tools from one OpenAPI spec.
Browse the guidesA race that appears once a week is a test waiting to be made deterministic.
Read articleA user in a distant region waits on a different clock than your local machine.
Read articleA multipart request can fail on one part while the rest are valid.
Read articleA token expires at a moment in time, so the mock should judge it on the clock.
Read articlePact and Prism both touch contracts and mocks, but they start from opposite ends.
Read articleThe row at the page edge is where one-off errors show up.
Read articleOne identifier turns separate service logs into one chain.
Read articleTurn a timing-dependent two-client race into a repeatable set of mock responses.
Read articleOne GraphQL response can hold both successful fields and failed fields at once.
Read articleA mock is a frozen snapshot; the real API keeps moving, and the two can quietly diverge.
Read articleVersion negotiation decides which contract the server answers with.
Read articleA header you set once can leave the client as repeated lines and reach the server as an array.
Read article