gpt4 book ai didi

unit-testing - 如何在 Golang 的单元测试中测试 net.Conn?

转载 作者:IT老高 更新时间:2023-10-28 13:03:57 25 4
gpt4 key购买 nike

我目前正在考虑为 Go 中的 net.Conn 接口(interface)以及在该功能之上构建的其他函数创建一些单元测试,我想知道在 Go 中进行单元测试的最佳方法是什么谷歌去?我的代码如下:

conn, _:=net.Dial("tcp", "127.0.0.1:8080")
...
fmt.Fprintf(conn, "test")
...
buffer:=make([]byte, 100)
conn.Read(buffer)

测试此代码和使用这些函数启动单独的 goroutine 以像服务器一样运行的代码是最有效的方法,使用 net.http.httptest package ,还是别的什么?

最佳答案

您可以使用 net.Pipe 做您需要的事情这基本上为您提供了连接的两端(想想,在 .Accept() 之后)

server, client := net.Pipe()
go func() {
// Do some stuff
server.Close()
}()

// Do some stuff
client.Close()

关于unit-testing - 如何在 Golang 的单元测试中测试 net.Conn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com