目录
问题内容
http 处理程序
单元测试
处理返回的文件流
解决方法
首页 后端开发 Golang 对返回多个文件流的 HTTP 处理程序进行单元测试

对返回多个文件流的 HTTP 处理程序进行单元测试

Feb 09, 2024 am 08:39 AM
回流

对返回多个文件流的 HTTP 处理程序进行单元测试

php小编草莓在本文中将介绍如何对返回多个文件流的HTTP处理程序进行单元测试。在开发过程中,我们经常会遇到需要返回多个文件流的情况,例如图片压缩、文件合并等。然而,这种情况下的单元测试并不是那么容易实现。在本文中,我们将探讨如何使用适当的工具和技术来编写有效的单元测试,以确保我们的HTTP处理程序能够正确地返回多个文件流。

问题内容

http 处理程序

我有一个像这样的 http 处理程序:

func routehandler(c echo.context) error {
    outs := make([]io.reader, 5)
    for i := range outs {
        outs[i] = // ... comes from a logic.
    }

    return c.stream(http.statusok, "application/binary", io.multireader(outs...))
}
登录后复制

单元测试

我打算为 http 处理程序编写一个单元测试并调查多个文件的返回流。

我的单元测试有这些帮助器类型和功能:

type handler func(echo.context) error

// send request to a handler. get back response body.
func send(req *http.request, handler handler) ([]byte, error) {
    w := httptest.newrecorder()
    e := echo.new()
    c := e.newcontext(req, w)
    // call the handler.
    err := handler(c)
    if err != nil {
        return nil, err
    }
    res := w.result()
    defer res.body.close()
    return ioutil.readall(res.body)
}
登录后复制

然后,我使用上述类型和函数从单元测试中向 http 处理程序发送请求:

// From within my unit test:

// Initialize request...

var data []byte
data, err := Send(request, RouteHandler)

// How to separate the multiple files returned here?
// How to work with the returned data?
登录后复制

处理返回的文件流

如何分离 http 处理程序返回的多个文件?如何使用 http 处理程序返回的数据流?

解决方法

...可能的选项:写入长度,后跟文件内容...

实际上,@CeriseLimón 评论的上述选项已经实现并被前端使用。

以上是对返回多个文件流的 HTTP 处理程序进行单元测试的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

《崩坏星穹铁道》米哈伊尔你要去哪儿成就攻略 《崩坏星穹铁道》米哈伊尔你要去哪儿成就攻略 May 09, 2024 pm 09:20 PM

崩坏星穹铁道米哈伊尔你要去哪儿成就攻略。随着崩坏星穹铁道2.2版本的更新,游戏当中也是有非常多的新内容可以去体验的,相信很多小伙伴在完成米哈伊尔你要去哪儿这个成就的时候都遇到了一些困难,不清楚要怎么才能完成,今天就带大家一起来看看详细的过程吧。崩坏星穹铁道米哈伊尔你要去哪儿成就攻略1、当我们继承了同谐开拓者的能力,解决掉四诺康尼的危机后,一切尘埃落定重回流梦礁最上方的传送点,就是下图标记的传送点;2、达到之后笔直往前走,再来看看米哈伊尔,并且调查他前方的阳台;3、调查完成之后就可以获得成就米哈伊

王牌竞速节后综合征吗:真正的老司机已经开始备战元宵节了 王牌竞速节后综合征吗:真正的老司机已经开始备战元宵节了 Feb 21, 2024 pm 06:04 PM

元宵节马上就要到了,王牌竞速特意为大家准备了元宵猜灯谜活动,猜一猜灯谜,成功答对6道题就可以领取金币奖励,积累到一定数量的灯谜还能够获得丰厚的奖励,具体一起来看看本次的活动详情。王牌竞速节后综合征吗:真正的老司机已经开始备战元宵节了Hey,亲爱的车手都说过完元宵才算给春节画上句号迎灯会、吃汤圆、放烟花…速度节到处都还弥漫着喜庆热闹的过节气氛西理也给大家准备了一些“只有真正的老司机”才能Get的趣味灯谜提前给大伙热热身,一起来猜猜看吧~(PS:车手们可以前往今日公众号推文查看谜底哦!)如何,车手们

抖音限流量怎么解决?限流量了怎么做才可以回流? 抖音限流量怎么解决?限流量了怎么做才可以回流? Mar 22, 2024 am 09:00 AM

随着抖音的普及,用户普遍面临的问题也在逐渐增加,其中最令人担忧的是抖音限流量的困扰。抖音限流量可能导致用户视频的观看次数、点赞和评论数量等显着减少,进而影响用户的收入和曝光机会。一、抖音限流量怎么解决? 1.提高内容质量抖音的核心竞争力在于内容,只有高质量的内容才能吸引更多用户。因此,提高内容质量是解决抖音限流问题的关键。创作者需要注重内容创新,用独特的视角和创意吸引用户,同时确保内容具有趣味性、教育性和实用性。这样才能不断提升用户体验,增加用户粘性。 2.调整发布时间抖音的流量分配是有时间规律的,

Steam手机令牌丢失怎么找回?Steam申诉指南 Steam手机令牌丢失怎么找回?Steam申诉指南 Mar 14, 2024 pm 10:07 PM

  在使用Steam手机令牌时,发现令牌消失了,这该怎么办?如果没有令牌就无法进行Steam账号的安全验证,我们要怎么找回Steam手机令牌?下面小编就来教教大家Steam手机令牌丢失的申诉方法。  申诉教程如下:  1、进入Steam客服页面steam客服  选择红框中的选项  2、根据自己的情况,选择相应的内容。  账户被盗或者密码丢失一般情况下选择第一个红框中选项即可。  3、选择红框中选项  4、输入自己的账户名称(登录ID,不是个人昵称)、绑定的电子邮箱、或者绑定的手机号均可,之后点击

QQ邮箱如何申请QQ备用邮箱?QQ邮箱申请QQ备用邮箱的方法 QQ邮箱如何申请QQ备用邮箱?QQ邮箱申请QQ备用邮箱的方法 Mar 05, 2024 am 09:30 AM

今日为各位带来的文章是关于QQ邮箱软件的,各位晓得QQ邮箱如何申请QQ备用邮箱吗?以下内容就为大伙带来了QQ邮箱申请QQ备用邮箱的方法,让我们一起来下文看看吧。在登录到QQ邮箱后,可以在邮箱首页上寻找一个带有三角标志的图标。如果无法找到该图标,可以查看图片上的详细标注以帮助定位。找到后点击3角标志,然后点击申请备用邮箱按钮。点击后我们在刚出来的页面右上角点击邮箱账号按钮。点击后我们输入新注册邮箱名,密码,手机号等操作然后点击注册按钮。注册完成后我们返回刚才的邮箱页面然后点击刚才弹出的框内输入账号

Dogelon Mars价格预测2024-2030 Dogelon Mars价格预测2024-2030 Mar 22, 2024 pm 03:33 PM

ELON 在 2023 年达到 0.0000005196 美元的峰值,此后一直在下跌。我们的 Dogelon Mars 价格预测估计到 2024 年底的价格为 $0.0000001409。根据我们 2025 年 Dogelon Mars 的价格预测,ELON 的交易价格为 0.0000004709 美元。

万人排队的《塔瑞斯世界》终测,凭什么获得这么多关注? 万人排队的《塔瑞斯世界》终测,凭什么获得这么多关注? Mar 21, 2024 pm 02:50 PM

3月18日,由北京乐动卓越自主研发,腾讯代理发行的双端互动手游《塔瑞斯世界》开启了前夕终测,《塔瑞斯世界》从职业到玩法,都有或多或少的致敬经典,相信喜欢MMO游戏的玩家又可以找到一个新的世界了。回想去年11月份海外测试时,超高的游戏质量吸引了一众海外玩家和许多MMORPG大主播抢注游玩,在3月18日十点国服前夕终测开服后,大批玩家纷纷涌入到《塔瑞斯世界》中,即便有些玩家没有抢到测试资格,但仅仅几分钟,就出现了万人排队的情况,如今国服前夕终测的火爆程度可以说是有过之无不及。(图源来自于网络)自从《

梦幻新聊斋,他们是靠什么让老玩家重拾信心的? 梦幻新聊斋,他们是靠什么让老玩家重拾信心的? Mar 15, 2024 pm 08:55 PM

说到《梦幻聊斋》,相信一部分老玩家可能对此并不陌生。作为一款老牌回合制网游,它在运营的十几年里历经风雨,但依旧屹立不倒,成为一代“苟命王”。运营了这么久的时间,官方团队是靠着什么样的方式让游戏“永葆青春”的?接下来,就由小编带大家来揭秘,看看《梦幻聊斋》是如何让老玩家们重拾对游戏信心的吧!没有什么成功是可以一蹴而就的,游戏产品的品质是运营游戏的基础与核心。在过去的十几年里,团队一直致力于维护游戏服务器稳定、研发新系统新玩法、设计新外观新道具、关注用户留存率等等,《梦幻聊斋》也从一个只有回合制基础

See all articles