Workflow logic changes can silently ship if tests don’t observe the exact contract your users/ops depend on. Adopt this checklist when writing/modifying tests around GitHub Actions scripts/workflows:
1) Assert the real user-visible contract
2) Make stubs/fakes record critical invariants
3) Drive every critical branch with fixtures
[] in fixtures if the production logic relies on that being sometimes non-empty.4) Scope assertions to the correct job/step
job('verify')) or step scoping (e.g., stepIn(job, step)) so the test proves the intended behavior.Example pattern (branch + contract + invariant):
PATCH /issues/comments/<id> (not POST), and the new body contains the exact verdict headline.This approach prevents the three common silent-failure modes shown in review: (a) tests only look at coarse substrings, (b) stubs discard the changed parameter so nothing is asserted, and (c) fixtures never reach the branch that would break in production.
Enter the URL of a public GitHub repository