golang でメタ情報を取れる runtime package を利用すると, エラーをラップした上で発生した箇所の情報を付与しておく、みたいなことができる

// util.go
...
...
// WrapError wrap error
func WrapError(err error) error {
	_, file, line, _ := runtime.Caller(1)
	files := strings.Split(file, "/")
	return fmt.Errorf("%s L%d: %w", files[len(files)-1], line, err)
}
// util_test.go
...
...
func TestWrapError(t *testing.T) {
	err := errors.New("test error")
	actual := WrapError(err)
	assert.EqualError(t, actual, "utils_test.go L37: test error")
}