亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何編寫 googollee socket.io 處理程序的單元測試

如何編寫 googollee socket.io 處理程序的單元測試

Go
HUX布斯 2022-09-19 20:53:00
我正在使用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


查看完整回答
反對 回復 2022-09-19
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號