我正在使用go lib:github.com/googollee/go-socket.io 我想知道如何為連接事件編寫一個非常簡單的測試,例如,如果我想檢查沒有返回錯誤。package mainimport ( "fmt" "log" "net/http" socketio "github.com/googollee/go-socket.io")func main() { server := socketio.NewServer(nil) server.OnConnect("/", func(s socketio.Conn) error { s.SetContext("") fmt.Println("connected:", s.ID()) return nil })}
1 回答

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
創建一個單獨的函數,該函數采用套接字。Conn 接口作為參數,并將其傳遞給 而不是匿名函數。server.OnConnect
然后你可以模擬套接字。Conn 對函數進行單元測試。
例如,將代碼段更改為:
package main
import (
"fmt"
"log"
"net/http"
socketio "github.com/googollee/go-socket.io"
)
func main() {
server := socketio.NewServer(nil)
server.OnConnect("/", handleOnConnect)
}
func handleOnConnect(s socketio.Conn) error {
s.SetContext("")
fmt.Println("connected:", s.ID())
return nil
}
現在,您所要做的就是 測試 。因為 是一個接口,所以您可以創建一個模擬來測試這個函數,而不必擔心內部因素。handleOnConnectsocketio.Connsocketio
您還可以創建一個新界面,該界面是取決于您的用例的子集,以使模擬更容易。socketio.Conn
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消