ErrorAs asserts that at least one of the errors in err's chain matches target, and if so, sets target to that error value. This is a wrapper for errors.As.
(t TestingT, err error, target interface{}, msgAndArgs ...interface{})
| 2136 | // ErrorAs asserts that at least one of the errors in err's chain matches target, and if so, sets target to that error value. |
| 2137 | // This is a wrapper for errors.As. |
| 2138 | func ErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interface{}) bool { |
| 2139 | if h, ok := t.(tHelper); ok { |
| 2140 | h.Helper() |
| 2141 | } |
| 2142 | if errors.As(err, target) { |
| 2143 | return true |
| 2144 | } |
| 2145 | |
| 2146 | chain := buildErrorChainString(err) |
| 2147 | |
| 2148 | return Fail(t, fmt.Sprintf("Should be in error chain:\n"+ |
| 2149 | "expected: %q\n"+ |
| 2150 | "in chain: %s", target, chain, |
| 2151 | ), msgAndArgs...) |
| 2152 | } |
| 2153 | |
| 2154 | // NotErrorAs asserts that none of the errors in err's chain matches target, |
| 2155 | // but if so, sets target to that error value. |