package request import ( "testing" "github.com/stretchr/testify/assert" ) func TestFrameHeader(t *testing.T) { header := NewFrameHeader() // 测试Set和Get header.Set("key1", "value1") val := header.Get("key1") assert.Equal(t, "value1", val, "Expected value1") // 测试不存在的key val = header.Get("nonexistent") assert.Nil(t, val, "Expected nil for nonexistent key") } func TestFrameHeaderConcurrent(t *testing.T) { header := NewFrameHeader() // 并发Set和Get done := make(chan bool, 100) for i := 0; i < 100; i++ { go func(id int) { key := string(rune(id)) header.Set(key, id) val := header.Get(key) assert.Equal(t, id, val) done <- true }(i) } // 等待所有goroutine完成 for i := 0; i < 100; i++ { <-done } }