把书读薄(Netty In Action第九章)

怎么对ChannelHandler做测试?

使用EmbeddedChannel。它的数据流程如下所示:

这里写图片描述

  • writeOutbound:将出站消息写到EmbeddedChannel中,如果能通过readOutbound从EmbeddedChannel中读到数据,返回true
  • readOutbound:从EmbeddedChannel中读取一个出站消息,它所返回的所有东西都会穿过整个的ChannelPipeline。如果没有读取的,就返回null
  • writeInbound:将入站消息写到EmbeddedChannel中,如果能通过readInbound从EmbeddedChannel中读取数据,返回true
  • readInbound:从EmbeddedChannel中读取一个入站消息,任何返回都会经过ChannelPipeline。如果没有读取,返回null

测试案例

ByteBuf buf=Upooled.buffer();
for(int i=1;i<10;i++){buf.writeInt(i*-1);
}
//MyAbsChannelHandler 负责将每个负数转为正数,并一个一个的输出
EmbeddedChannel channel=new EmbeddedChannel(new MyAbsChannelHandler());
assertTrue(channel.writeOutbound(buf));
//finish 表示将 EmbeddedChannel 标记为完成,如果有可读的入站数据或出站数据,返回true
assertTrue(channel.finish());for(int i=1;i<10;i++){assertEquals(i,channel.readOutbound());
}
assertNull(channel.readOutbound())

怎么对ChannelHandler做测试?相关推荐

  1. 如何使用Leangoo敏捷工具做测试管理。

    "软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程." 在敏捷需求开发中,测试伙伴无法通过看板将测试用例和Sprint ...

  2. 想做测试经理的看过来

    当你来到公司的第一天,他就是你今天要找的人.刚挂掉找寻的电话,略微寒暄,就开始帮你安排座位,安排带教人,带你熟悉工作环境--一切都那么井井有条.这,大约就是对测试经理这个职位的第一印象了.工作后慢慢发 ...

  3. 读Google是如何做测试的

    网上有<What Test Engineers do at Google>的原文翻译,以及相关中文书籍<google软件测试之道>.今天不会在这里搬内容,写一些读书笔记和感悟. ...

  4. CentOS下为Web网站性能做测试

    CentOS下为Web网站性能做测试 时间:2014-12-08 01:33来源:loosky.net  作者:自由的风 举报   点击:429次 Webbench是知名的网站压力方面的测试工具,它是 ...

  5. 飞鸽传书整个逻辑盲写,不做测试

    飞鸽传书这是一个项目中的一个案例,在提测的过程中竟然发现主功能有严重的bug.这样的bug被测试发现确实非常惭愧,我把自己骂了好几遍.可能每个人都会为自己辩解,谁写代码没有问题.但是我在这里说一下我自 ...

  6. 想做测试工程师,这7件事你必须先知道

    摘要:写代码归开发攻城狮,测试归测试攻城狮,大部分情况下双方处于"红蓝对峙"状态. 一."开发者测试" 就是"开发者来测试" 开发者测试是现 ...

  7. 去百度/阿里/腾讯…做测试的,都是什么样的人?

    测试这条路上其实有不少一路"躺赢"的同学,拿着offer功成身退.但是! 也有很多测试小伙伴频频反映:找工作很难,特别是进大一点的厂!他们特别挑!!! 而去百度.阿里.腾讯--等顶 ...

  8. 你知道这5年我怎么过的吗!谈谈我做测试开发的这些年……【总结】

    软件测试这个行业总是会被很多人误解,不懂行的人总会这样吐槽:"测试员就是吃青春饭的","30岁还没做公司中层领导说明快被企业淘汰了","过了30岁年薪 ...

  9. python做测试需要哪些技能_测试人员需要具备哪些基本技能

    测试人员需要具备哪些基本技能或者素质.这个问题在几年前常见于软件测试工程师笔试题上.对这个问题,我觉得应该有新的解读.现在我们日常工作中需要应对的是,测试和开发的交叉领域,测试和运维的交叉领域.而不再 ...

  10. 年薪16薪,工作福利靠砸钱 ?在京东做测试员原来这么爽

    前段时间,京东和阿里相继发布了2021第三季度的财报,虽两者业绩均受承压,可京东在市场上却更受到认可些. 京东财报显示,京东三季度的"平台及服务收入"达168亿元,同比增长35%, ...

最新文章

  1. Java泛型中的PECS原则
  2. DBA基础系列SQL Server 2014:2. SQL Server用户数据库初始化配置
  3. MapReduce简述
  4. 水题(water)(非详细解答)
  5. 【自适应(盲)均衡5】分数间隔均衡器基本原理及应用(更正数字通信翻译版中公式错误)
  6. 让程序结果在屏幕上暂停一段时间
  7. MySQL的主从复制云栖社区_MySQL-主从复制
  8. powerbi内部部署安装指导
  9. 被苹果“先捧后杀”的操作系统
  10. java 输出一个爱心_java基础 之 几个常用的类
  11. Go基础:产生随机数
  12. Excel 4.0宏躲避杀软检测(转)
  13. RequestResponse
  14. win Server 2012 R2 密钥
  15. 微信开发者工具登录时tunneling socket could not be established
  16. javascript实现数字补全不足补零
  17. 小米8对一加6打开软件速度测试,同为骁龙845,小米8、一加6吃鸡体验截然不同,问题出在哪?...
  18. 给女朋友做个聊天机器人,这样就能安心写代码了
  19. Python|求a + aa + aaa + … + aa…a的值
  20. 完成迭代效劳器端和客户端

热门文章

  1. Atitit 计算机网络体系结构原理与实践attilax总结 目录 1.  计算机网络体系结构 1 1.1. Wmi 1 1.2. IPMI与BMC 1 1.3. Tcp/udp 2 1.4. 代理
  2. Atitit 软件程序的定义 软件广义定义 程序代码,文档 ,数据 方法,规则, 狭义定义 软件=程序+数据+文档 软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指
  3. Atitit.导出excel功能的设计 与解决方案
  4. PAIP.img ROM文件提取APK
  5. Palantir:野心贼大,想做世界的创新引擎(附纪要)| 国君计算机李沐华
  6. 基金公司十大非货规模逆袭(2010-2020)
  7. 农业银行王敬东——金融科技时代商业银行战略模式选择初探
  8. 支付那些事儿III---一个BD汪眼中的产品I
  9. 华尔街(Wall Street)与先锋集团(Vanguard )之间的战争
  10. 到上海,与陈绪零距离