github.com/gopherjs/gopherjs@v1.19.0-beta1.0.20240506212314-27071a8796e4/internal/testingx/must.go (about) 1 // Package testingx provides helpers for use with the testing package. 2 package testingx 3 4 import "testing" 5 6 // Must provides a concise way to handle returned error in cases that 7 // "should never happen"©. 8 // 9 // This function can be used in test case setup that can be presumed to be 10 // correct, but technically may return an error. This function MUST NOT be used 11 // to check for test case conditions themselves because it generates a generic, 12 // nondescript test error message. 13 // 14 // func startServer(addr string) (*server, err) 15 // mustServer := testingx.Must[*server](t) 16 // mustServer(startServer(":8080")) 17 func Must[T any](t *testing.T) func(v T, err error) T { 18 return func(v T, err error) T { 19 if err != nil { 20 t.Fatalf("Got: unexpected error: %s. Want: no error.", err) 21 } 22 return v 23 } 24 }