From a53853a7668a3e12c2d22a1d8009678077be3801 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 10 Oct 2022 13:11:54 +0200 Subject: STYLE.md: Document argument order of `testing.TB` and `context.Context` Document the order of arguments that we use in this project to be `testing.TB` first, `context.Context` second to make this discoverable. While at it also document our use of `t.Helper()`. --- STYLE.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'STYLE.md') diff --git a/STYLE.md b/STYLE.md index 667973ee5..3b2ee4b79 100644 --- a/STYLE.md +++ b/STYLE.md @@ -194,6 +194,19 @@ func TestT_M_suffix() { ... } func TestT_M_suffixWithMultipleWords() { ... } ``` +### Test helpers + +Helper functions for test helpers should be clearly marked with `t.Helper()` so +that stack traces become more usable. `testing.TB` arguments should always be +passed as first parameter, followed by `context.Context` if required. + +```go +func testHelper(tb testing.TB, ctx context.Context) { + tb.Helper() + ... +} +``` + ### Table-driven tests We like table-driven tests ([Table-driven tests using subtests](https://blog.golang.org/subtests#TOC_4.), [Cheney blog post], [Golang wiki]). -- cgit v1.2.3