第 37 章 Mock
仅支持生成者
对分布式和异步处理的测试非常困难。Mock、Test 和 Dataset 端点与 Camel 测试框架合作,以使用 企业集成模式 和 Camel 的大型组件以及强大的 Bean 集成来简化单元和集成测试。
Mock 组件提供了一个强大的声明测试机制,类似于 jMock,它允许在测试开始前在任何 Mock 端点上创建声明性预期。然后,测试会运行,它通常会触发一个或多个端点的消息,最后会在测试案例中最终触发消息,以确保系统按预期工作。
这可让您测试各种问题,如下所示:
注意
注意
模拟端点无限期保留在内存中收到的交换。
请记住,Mock 旨在测试。当您向路由添加 Mock 端点时,发送到端点的每个交换都将在内存中存储(允许稍后验证),直到显式重置或 JVM 重新启动为止。如果您要发送高卷和/或大型信息,这可能会导致过量内存使用。如果您的目标是内联测试可部署的路由,请考虑在测试中使用 NotifyBuilder 或 AdviceWith,而不是直接添加 Mock 端点来路由。有两个新选项保留First,而 retainLast 可用于限制 Mock 端点保留在内存中的消息数量。
37.1. URI 格式
mock:someName[?options]
其中 someName
可以是唯一标识端点的任何字符串。