gpt4 book ai didi

使用 httptest 测试 fasthttp

转载 作者:IT王子 更新时间:2023-10-29 02:29:12 27 4
gpt4 key购买 nike

我想知道如何测试用 fasthttp 编写的应用程序使用 httptest package在 Go 的基础库中。

我找到了 this guide这很好地解释了测试,但问题是 httptest 不满足 http.Handler 接口(interface)所以我不知道如何做 http.HandlerFunc 因为 fasthttp 使用它自己的 fasthttp.ListenAndServe 不兼容。

关于如何创建包装器或如何以其他方式端到端地测试 fasthttp 编写的库有什么想法吗?

最佳答案

有两种可能的方法。对处理程序进行单元测试并不可行,因为您需要创建一个 RequestCtx并 stub /模拟所有必要的字段。

相反,我将对您的 fasthttp 处理程序调出的代码进行单元测试到。我会对实际处理程序本身进行端到端测试。

有一个in memory listener可以用来避免实际监听 TCP 端口或 Unix 套接字的实现。您将初始化服务器,但服务于此监听器而不是网络连接。

然后您将创建一个 HTTP 客户端并像往常一样调用相关方法,但使用此监听器作为传输。

如果你 stub /伪造你的处理程序与之交互的任何东西,那么你可以只在没有外部依赖的情况下在内存中创建它,即像单元测试一样,但它实际上会进行完整的系统测试。

关于使用 httptest 测试 fasthttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45296230/

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