Most mocking libraries do not work in commonTest, and the fix is better anyway
Dynamic proxies need a JVM. What replaces them asserts on outcomes instead of calls.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
29 posts
Dynamic proxies need a JVM. What replaces them asserts on outcomes instead of calls.
A single-threaded target surfaces every real-clock dependency a JVM run hides.
The clock, the input source and the available fonts differ per target.
Font rasterisation differs per renderer, so one reference image cannot hold.
Virtual time makes a 30-second timeout instant — and makes a real-dispatcher leak invisible.
One test, five executions. That is how you find platform bugs — and how one flaky test fails five jobs.
A verification that asserts on the surface you wrote to will agree with you every time.
A gate that has never failed might detect nothing. The red fixture is the only evidence it works — and one that trips on two classes localises neither.
A structural shell passes an AST scan and a unit test while rendering nothing the mockup specified. Only a rendered check can tell the difference.
Golden references are test inputs and belong in version control; run captures are regenerable evidence and do not. Conflating them loses the reference.
Tests that assert on visible text break on copy edits, which trains people to weaken assertions. A test tag is a deliberate contract that survives rewording.
Snapshot tests die the moment output varies per run. Asserting invariants instead of strings, the vacuous-check trap, and a verdict that means could-not-determine.