| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package httpclent
- import (
- "encoding/json"
- "fmt"
- "testing"
- "time"
- )
- var (
- codeDataMessageStr = `
- {
- "code": 0,
- "data": null,
- "message": "error message"
- }
- `
- codeDataMessageStrByte = []byte(codeDataMessageStr)
- errorMessageStr = `
- {
- "error": {
- "message": "异常"
- }
- }
- `
- errorMessageByte = []byte(errorMessageStr)
- )
- type Demo struct {
- Code int `json:"code"`
- Message string `json:"message"`
- }
- func TestValidatorErrorMessage(t *testing.T) {
- fmt.Println(validatorErrorMessage(errorMessageByte))
- }
- // BenchmarkValidatorErrorMessage-8 5073397 225 ns/op
- func BenchmarkValidatorErrorMessage(b *testing.B) {
- for i := 0; i < b.N; i++ {
- validatorErrorMessage(errorMessageByte)
- }
- }
- func TestCodeDataMessage(t *testing.T) {
- fmt.Println(validatorCodeDataMessage(codeDataMessageStrByte))
- }
- // BenchmarkCodeDataMessage-8 3130287 397 ns/op
- func BenchmarkCodeDataMessage(b *testing.B) {
- for i := 0; i < b.N; i++ {
- validatorCodeDataMessage(codeDataMessageStrByte)
- }
- }
- // BenchmarkCodeDataMessage-8 812484 1560 ns/op
- func BenchmarkCodeDataMessageBindJson(b *testing.B) {
- for i := 0; i < b.N; i++ {
- demo := new(Demo)
- err := json.Unmarshal(codeDataMessageStrByte, demo)
- if err != nil {
- b.Fatal(err)
- }
- if demo.Code != 0 {
- // todo
- }
- }
- }
- func BenchmarkResponseBodyError(b *testing.B) {
- for i := 0; i < b.N; i++ {
- CheckResponseBodyHasError(codeDataMessageStrByte)
- }
- }
- func TestCurrent(t *testing.T) {
- go func() {
- for {
- AddValidatorResponseBody("k1", validatorCodeDataMessage)
- CheckResponseBodyHasError(codeDataMessageStrByte)
- }
- }()
- go func() {
- for {
- AddValidatorResponseBody("k1", validatorCodeDataMessage)
- CheckResponseBodyHasError(codeDataMessageStrByte)
- }
- }()
- go func() {
- for {
- AddValidatorResponseBody("k1", validatorCodeDataMessage)
- CheckResponseBodyHasError(codeDataMessageStrByte)
- }
- }()
- time.Sleep(time.Second * 100)
- }
|