SingleNodeIntegrationTestSupport 和作业
SingleNodeIntegrationTestSupport and jobs
org.springframework.xd.dirt.test.SingleNodeIntegrationTestSupport
没有提供工作测试方法是有原因的吗?
Spring XD 项目中的作业模块集成测试使用不同的工具进行,例如org.springframework.xd.integration.test.AbstractJobTest
将所有文件复制到 运行 Spring XD 容器(copyJobToCluster
方法)。
是否有技术原因导致无法启动嵌入式 Spring XD 进行作业测试,例如class 加载程序设置?
我想不出您不能 运行 嵌入式容器来测试作业的任何技术原因。对于流测试,XD 提供了测试装置,可以轻松地将消息发送到流并接收和验证结果。处理流中的单个消息预计会发生 "fast",并且从源、处理器(或处理链)验证生成的有效负载非常简单。测试接收器需要更多工作来验证绑定到它的任何外部资源的状态。这些特性使得流测试对于单元集成测试来说是可行的。另一方面,批处理作业可以 运行 任意长的时间,这不一定适合 Junit 恕我直言。从技术上讲,可能会有一些样板代码来触发作业,并检测作业何时完成,测试框架可以支持这些事情。我不确定除此之外还能做什么。
org.springframework.xd.dirt.test.SingleNodeIntegrationTestSupport
没有提供工作测试方法是有原因的吗?
Spring XD 项目中的作业模块集成测试使用不同的工具进行,例如org.springframework.xd.integration.test.AbstractJobTest
将所有文件复制到 运行 Spring XD 容器(copyJobToCluster
方法)。
是否有技术原因导致无法启动嵌入式 Spring XD 进行作业测试,例如class 加载程序设置?
我想不出您不能 运行 嵌入式容器来测试作业的任何技术原因。对于流测试,XD 提供了测试装置,可以轻松地将消息发送到流并接收和验证结果。处理流中的单个消息预计会发生 "fast",并且从源、处理器(或处理链)验证生成的有效负载非常简单。测试接收器需要更多工作来验证绑定到它的任何外部资源的状态。这些特性使得流测试对于单元集成测试来说是可行的。另一方面,批处理作业可以 运行 任意长的时间,这不一定适合 Junit 恕我直言。从技术上讲,可能会有一些样板代码来触发作业,并检测作业何时完成,测试框架可以支持这些事情。我不确定除此之外还能做什么。