Testing the effect couples the test to the listener, and testing the event tests the thing the code under test is actually responsible for. The listener gets its…
A load test that reports numbers requires somebody to interpret them; one that asserts a threshold fails a build. The ramp shape matters as much as the target:…
A trace is large and is only interesting when something went wrong, so recording on retry and uploading on failure is the arrangement that stays affordable. if: failure()…
One call turns on three separate checks that each convert a silent misbehaviour into an exception. The third is the one with the largest immediate yield, because a…
A CI runner is shared, throttled and occasionally slow, so any assertion about wall-clock time fails eventually for reasons unrelated to the code. Query counts and memory are…