第 93 章 Mock
仅支持生成者
测试分布式和异步处理并不困难。Mock、Test 和 Dataset 端点与 Camel 测试框架协同工作,从而通过使用 企业集成模式 和 Camel 的大量组件以及强大的 Bean 集成来简化您的单元和集成测试。
Mock 组件提供了一个强大的声明测试机制,它与 jMock 类似,它允许在测试开始前在任何 Mock 端点上创建声明性预期。然后,运行测试,这通常会将消息触发给一个或多个端点,最后,在测试情况下的预期预期以确保系统按预期工作。
这可让您测试各种内容,如下所示:
模拟端点会无限期地保留收到的交换。
请记住,Mock 专为测试而设计。将 Mock 端点添加到路由时,发送到端点的每个 Exchange 都会在内存中存储(以允许后续验证),直到显式重置或 JVM 重启为止。如果您要发送大量卷和/或大消息,这可能会导致过量内存使用。如果您的目标是测试内联路由,请考虑在测试中使用 NotifyBuilder 或 AdviceWith,而不是将 Mock 端点直接添加到路由。有两个新选项 retainFirst 和 retainLast,可用于限制 Mock 端点在内存中保留的消息数量。
93.1. 依赖项
当在 Red Hat build of Camel Spring Boot 中使用 mock
时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-mock-starter</artifactId> </dependency>