本节书摘来华章计算机《Storm实时数据处理》一书中的第2章 ,第2.7节,(澳)Quinton Anderson 著 卢誉声 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.7 为日志流集群创建集成测试

在交付过程中,集成测试扮演着非常重要的角色。集成测试的类型有很多。通常来说,单元集成测试和Topology集成测试不仅是持续集成构建周期的组成部分,还是对部署集群集成测试的必要功能性风格的补充。我们在这里展示的集成测试方法本质上和第1章中的集成测试方法没什么区别,但这里却复杂很多,所以有必要多作些解释。

2.7.1 实战

我们先来创建单元测试。
Step01 使用Eclipse,在项目的单元测试源代码目录中的storm.cookbook.log包里创建一个名为IntegrationTestTopology的JUnit 4单元测试用例。添加一个setup方法,该方法会在初始化类之前被调用:

Step02 接下来创建setup方法中所有被调用的初始化方法,我们先来初始化嵌入式版本的Cassandra:

Step03 然后初始化本地嵌入式Elastic Search实例:

Step04 最后,初始化需要测试的Topology:

Step05 这样我们就准备好了所有测试Topology所需的工具。另外,我们还需要在测试结束时销毁这些对象和结构体,在测试套件中增加一个AfterClass方法:

Step06 然后实现好测试用例就可以大功告成了:

2.7.2 解析

该测试用例通过创建嵌入式Topology集群实例来实现集成测试功能,其中两个实例分别叫做Cassandra和Elastic Search。然后我们所做的工作就与之前的集成测试一样,将测试数据添加到输入通道,通过Topology来处理这些日志记录,并验证搜索引擎中的记录,以及计数器自增状态正确与否。
该测试相比普通的单元测来说需要花费更多时间,因此不应该将它们包含到你的标准Maven构建当中。但这个测试有必要作为你在本地开发工作过程当中的重要一环,并在持续集成服务器上进一步进行验证。

《Storm实时数据处理》一2.7 为日志流集群创建集成测试相关推荐

  1. 《Storm实时数据处理》一2.6 统计与持久化日志统计信息

    本节书摘来华章计算机<Storm实时数据处理>一书中的第2章 ,第2.6节,(澳)Quinton Anderson 著 卢誉声 译更多章节内容可以访问云栖社区"华章计算机&quo ...

  2. ELK日志中心集群,看完工资+1k

    目录 一.ELK日志分析集群 1.组件介绍 (1)Elasticsearch: (2)Logstash: (3)kibana : (4)kafka:(kafka集群+elk) (5)Filebeat: ...

  3. 一步一步搭建ELK日志处理集群(自己做过测试)

    下面的linux版本用的是centos 7的,用centos 6.5有可能出现问题. ELK集群搭建手册 一.   环境准备: 三台Linux服务器,ip地址分别为: 192.168.25.30 19 ...

  4. Storm 04_Storm单机模式搭建完全分布式安装部署集群drpc

    一.环境要求 JDK 1.6+ java -version Python 2.6.6+ python -V ZooKeeper3.4.5+ storm 0.9.4+ ----------------- ...

  5. oracle数据库集群日志,Oracle集群数据库中恢复归档日志

    恢复归档日志:select * from v$log_history t where t.THREAD#= 恢复归档日志:select * from v$log_history t where t.T ...

  6. Storm集群使用DRPC功能Version1.0.1

    在Storm集群上开启DRPC功能, 基于Storm的1.0.1版本, 并且执行简单的例子测试. 1.DRPC概念 DRPC就是分布式远程过程调用. Storm里面引入DRPC主要是利用storm的实 ...

  7. storm笔记:storm集群

    storm笔记:storm集群 Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配置静态指定(还有一种主从结构是在运行时动态选举,比如z ...

  8. Storm集群安装及wordcount案例

    Storm集群部署 1.下载安装包 2.解压安装包 #解压到平台 tar -zxvf apache-storm-0.9.5.tar.gz -C /usr/local/apps/platform/ #创 ...

  9. 12c集群日志位置_Oracle 19C RAC 集群日志位置变化

    作者 | JiekeXu 来源 | JiekeXu之路(ID: JiekeXu_IT) 转载请联系授权 | (微信ID:xxq1426321293) 大家好,我是 JiekeXu,很高兴又和大家见面了 ...

最新文章

  1. 用CocoaPods做iOS程序的依赖管理
  2. SAP MM 存储条件 - Room Temperature Vs Ambient
  3. 交换机4种网络结构:级联、端口聚合、堆叠、分层—Vecloud微云
  4. autowired_@Autowired所有的东西!
  5. android c博客园,android上进行c/C 开发测试(转) - 奋进 - 博客园
  6. Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出
  7. VB2010(1)_Hello User
  8. android 后台运行管理,Android 后台运行白名单,优雅实现保活
  9. 20130408-[转]贴片钽电容的封装、尺寸和标识
  10. html渐变生成,css gradient 在线渐变生成工具
  11. NetApp 数据存储解决方案:广泛的全闪存、混合闪存和对象存储系统产品组合
  12. Using the Hardware Scaler for Performance and Efficiency
  13. 关闭惠普计算机通电启动注册表,惠普电脑总是自动重启如何解决
  14. wordpress 瀑布流ajax,WordPress瀑布流主题:蛋花儿Free版
  15. python字典的删除(简介明了)
  16. 写好一份数据分析报告需要注意的13个要点
  17. Second season seventh episode,Ross finds out Rachel like him,what will he do???
  18. 程序员是什么又代表这多少角色?你想过吗?
  19. DQN(Deep Q Network)及其代码实现
  20. 浪潮8465m4安装linux,NF8465M4 – 常见问题

热门文章

  1. c语言任意位数逆序数,C语言求助!一个三位数的逆序数,总是编不对
  2. 当稳定币遇上BCH,将会擦出什么样的火花?
  3. C++雾中风景12:聊聊C++中的Mutex,以及拯救生产力的Boost
  4. 二、Swift网络请求回来的数据我这样取
  5. bzoj2039[2009国家集训队]employ人员雇佣
  6. sharepoint2013的审核日志的时间区域设置
  7. 【转】iphone开发中NSMutableAttributedString/NSAttributedString 富文本设置
  8. CStatic控件的基本使用
  9. 计算机网络机械特性是指,《计算机网络与通信》第1——3章 习题及思考题
  10. ssm校园帮代服务系统的设计与实现答辩PPT模板