github.com/XiaoMi/Gaea@v1.2.5/util/mocks/pipeTest/pipeTest_test.go (about) 1 package pipeTest 2 3 import ( 4 "github.com/stretchr/testify/require" 5 "testing" 6 ) 7 8 // TestPipeTestWorkable 为验证测试 PipeTest 是否能正常运作,以下测试不使用 MariaDB 的服务器,只是单纯的单元测试 9 func TestPipeTestWorkable(t *testing.T) { 10 t.Run("此为测试 PipeTest 的验证测试,主要是用来确认整个测试流程没有问题", func(t *testing.T) { 11 // 开始模拟物件 12 mockClient, mockServer := NewDcServerClient(t, TestReplyMsgFunc) // 产生 mockClient 和 mockServer 模拟物件 13 14 // 产生一开始的讯息和之后的预期正确讯息 15 msg0 := []uint8{0} // 起始传送讯息 16 correct := uint8(0) // 之后的预期正确讯息 17 18 // 产生一连串的接收和回应的操作 19 for i := 0; i < 5; i++ { 20 msg1 := mockClient.SendOrReceiveMsg(msg0).ReplyMsg(mockServer) // 接收和回应 21 correct++ // 每经过一个reply() 函数时,回应讯息会加1 22 require.Equal(t, msg1[0], correct) 23 msg0 = mockServer.SendOrReceiveMsg(msg1).ReplyMsg(mockClient) // 接收和回应 24 correct++ // 每经过一个reply() 函数时,回应讯息会加1 25 require.Equal(t, msg0[0], correct) 26 } 27 }) 28 }