《Storm实时数据处理》一1.9 实现集成测试

简介:

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

1.9 实现集成测试

由于环境和使用者的差异,集成测试可能会代表多种不同的概念。在本书中,集成测试指的是根据事先定义的输入和输出点,通过端到端的方法测试本地集群Topology的方法。这样就能确保在部署到实际的集群环境之前对Topology进行完整的功能性验证。

1.9.1 实战

Step01 在src/test/java目录下的storm.cookbook包中创建IntegrationTestTopology类。我们在这里添加一个“测试Bolt”类,以便于搭建本地Topology:
image
image

Step02 然后,定义一组成对数组作为所需的参数:
image

Step03 这样我们就可以根据这些参数编写测试逻辑了:
image
image

1.9.2 解析

该集成测试首先会创建本地集群,然后通过Redis将输入数据添加到集群中,这个过程与实际Web服务器的工作原理一致。然后它会把预先定义好的“测试Bolt”连接到Topology结构的末尾,这样我们就能接收所有输出的Tuple并与期望值比较。
一旦TestBolt的值提交到了集群,在测试过程中就再也不能访问它了。所以只能通过数据持久化手段访问这些输出数据。TestBolt会把收到的Tuple数据持久化存储在Redis上,这样测试用例就可以读取并验证这些值了。TestBolt的代码逻辑如下所示:
image

然后读取这些值,并与我们所期望的值进行比较:
image
image

相关文章
|
3月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
2月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
67 0
|
6月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
338 6
|
6月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
466 4
|
6月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
439 1
|
7月前
|
消息中间件 Java Kafka
springboot集成kafka
springboot集成kafka
202 2
|
7月前
|
监控 前端开发 Java
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
|
6月前
|
消息中间件 Java Kafka
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成

热门文章

最新文章