package zlibUtil import ( "compress/zlib" "strings" "testing" ) var ( InitString = `{"Code":4,"Message":"IPNotAuthorized","Data":null}` CompressBytes []byte ) func TestCompress(t *testing.T) { data := ([]byte)(InitString) result, _ := Compress(data, zlib.DefaultCompression) // if isEqual(result, CompressBytes) == false { // t.Errorf("压缩失败,期待%v,实际%v", InitBytes, result) // } CompressBytes = result } func TestDecompress(t *testing.T) { data, _ := Decompress(CompressBytes) result := string(data) if result != InitString { t.Errorf("解压缩失败,期待%s,实际%s", InitString, result) } } func isEqual(a, b []byte) bool { if a == nil && b == nil { return true } else if a == nil || b == nil { return false } if len(a) != len(b) { return false } for i := 0; i < len(a); i++ { if a[i] != b[i] { return false } } return true } //BenchmarkCompress-12 10989 107509 ns/op func BenchmarkCompress(b *testing.B) { toCompress := []byte(strings.Repeat(InitString, 100)) b.ResetTimer() for i := 0; i < b.N; i++ { _,err :=Compress(toCompress, zlib.DefaultCompression) if err!=nil{ b.Log(err) } } b.StopTimer() } //BenchmarkDeCompress-12 99153 10802 ns/op func BenchmarkDeCompress(b *testing.B) { toCompress := []byte(strings.Repeat(InitString, 100)) compressedData,_ := Compress(toCompress, zlib.DefaultCompression) b.ResetTimer() for i := 0; i < b.N; i++ { _,err := Decompress(compressedData) if err!=nil{ b.Log(err) } } b.StopTimer() }