第 226 章 模拟组件
作为 Camel 版本 1.0 可用
对分布式和异步处理的测试非常困难。Mock、Test 和 DataSet 端点与 Camel 测试框架一起工作,使用 企业集成模式 和 Camel 的大量组件与强大的 Bean 集成来简化您的单元和集成测试。
Mock 组件提供了一个强大的声明性测试机制,这与 jMock 类似,它在测试开始前可以在任何 Mock 端点上创建声明性预期。然后,运行测试,它通常会将消息触发到一个或多个端点,最后在测试案例中断言预期,以确保系统按预期工作。
这可让您测试各种内容,例如:
模拟端点会无限期地保留接收的 Exchange。
请记住,Mock 是为测试设计的。将 Mock 端点添加到路由时,发送到端点的每个 Exchange 将存储(以允许以后验证)在内存中,直到显式重置或 JVM 重新启动。如果您发送高卷和/或大型信息,则可能会导致过量使用内存。如果您的目标是在测试内联测试路由,请考虑在测试中使用 NotifyBuilder 或 AdviceWith,而不是添加 Mock 端点来直接路由。
从 Camel 2.10 开始,有两个新选项保留了 First
,并且保留了 Last,可用于限制 Mock 端点在内存中保存的消息数量
。
226.1. URI 格式 复制链接链接已复制到粘贴板!
mock:someName[?options]
mock:someName[?options]
其中 someName
可以是唯一标识端点的任何字符串。
您可以使用以下格式在 URI 中附加查询选项 ?option=value&option=value&…