package fserr import ( "errors" "fmt" "testing" ) var testErr = newError(ErrUnknownCode, "测试错误") func TestErrors(t *testing.T) { err := testErr fmt.Println("测试错误打印:", err) if err != testErr { t.Fatal("错误不同") } isRight := errors.Is(err, testErr) if !isRight { t.Fatal("Is错误") } targetErr := &Error{} asRight := errors.As(err, &targetErr) if !asRight { t.Fatal("As错误") } fmt.Println("测试目标错误打印:", targetErr) if !errors.Is(err, targetErr) { t.Fatal("目标错误和原始错误不一致") } if err != targetErr { t.Fatal("目标错误和原始错误不一致") } }