go-testing-code-review
Go Testing Code Review
Review Workflow
Follow this sequence in order. Do not emit findings until every Pass below is satisfied.
-
Baseline
go.mod— Opengo.modfor the module under review and read thegodirective.
Pass: You can state the exactgo X.YYvalue (in the review preamble or working notes). Apply version-gated advice only when it matches this baseline (e.g. fuzz tests Go 1.18+, loop-variable capture pre-Go 1.22). -
Read surrounding tests — For each
*_test.go(or benchmark/fuzz file) in scope, read full test functions and any tablestruct{...}/ helpers they use, not only the diff hunk.
Pass: At least one fullfunc Test.../func Benchmark.../func Fuzz...(or helper it calls) containing the change was read per in-scope file. -
Scope the checklist — Decide which Review Checklist rows apply (table-driven structure, parallelism, HTTP, golden files, mocks). Open references/structure.md and/or references/mocking.md for those topics; skip rows N/A to the diff with a one-line reason (e.g. “no
t.Parallelin change”).
Pass: The review (or working notes) lists which checklist themes you applied, or marks themes N/A with a diff-tied reason. -
Pre-report verification — Load and follow review-verification-protocol.
Pass: The protocol’s Pre-Report Verification Checklist is satisfied for each finding you will report (actual test code read, surrounding context checked, “wrong” vs “different style” distinguished, etc.).