我正在使用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 关注
- 99 浏览
添加回答
举报
0/150
提交
取消