34.4. 端点选项
Mock 端点是使用 URI 语法配置的:
mock:name
mock:name
使用以下路径和查询参数:
34.4.1. 路径参数(1 参数) 复制链接链接已复制到粘贴板!
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
name (producer) | 所需 模拟端点的名称。 | 字符串 |
34.4.2. 查询参数(12 参数) 复制链接链接已复制到粘贴板!
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
assertPeriod (producer) | 设置一个宽限期,之后模拟端点将重新排序,以确保初始断言仍有效。例如,这用于对正好有多个消息到达的模拟。例如,如果 expectedMessageCount (int)被设置为 5,则在 5 个或更多消息到达时满足断言。为确保完全有 5 个消息到达,您需要等待一些 period 以确保进一步的消息到达。这就是您可以使用此方法。默认情况下禁用此周期。 | long | |
expectedCount (producer) | 指定此端点应接收的预期消息交换数量。注意:如果您希望有 0 个消息,请额外小心,因为测试启动时为 0 匹配,因此您需要设置一个断言期限时间,以便让测试运行一段时间,以确保仍没有消息到达;对于该使用 setAssertPeriod (长)。另一种方法是使用 NotifyBuilder,并在您调用模拟上的 assertIsSatisfied ()方法前,了解 Camel 何时进行路由。这可让您不要使用固定断言周期来加快测试时间。如果您希望使第 n 个消息到达这个模拟端点,请参阅 setAssertPeriod (long)方法以了解更多详情。 | -1 | int |
FAILfast (producer) | 设置 assertIsSatisfied ()应该在第一次检测到的失败时快速失败,否则可能会等待所有预期消息到达,然后执行预期验证。默认为 true。设置为 false 以使用 Camel 2.x 中的行为。 | false | 布尔值 |
lazyStartProducer (producer) | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
日志 (生成器) | 当模拟收到传入消息时打开日志记录。这将仅在 INFO 级别记录传入消息的时间。如需更详细的日志记录,请将 org.apache.camel.component.mock.MockEndpoint 类的日志记录器设置为 DEBUG 级别。 | false | 布尔值 |
reportGroup (producer) | 一个数字,用于根据大小的组打开吞吐量日志记录。 | int | |
resultMinimumWaitTime (producer) | 设置 assertIsSatisfied ()的最小预期时间(在 millis 中)将等待到满足为止。 | long | |
resultWaitTime (producer) | 设置 assertIsSatisfied ()的最长时间(在 millis 中)将等待到满足为止。 | long | |
保留First (producer) | 指定只保留前 n 个接收交换数。这在测试大数据时使用,通过不存储此模拟端点接收的每个 Exchange 的副本来减少内存消耗。重要:使用此限制时,getReceivedCounter ()仍会返回收到的实际收到的交换数。例如,如果我们收到 5000 Exchanges,并且已配置为只保留前 10 个交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有前 10 Exchanges。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…)在收到的第一个正文数量上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个收到的第一个和最后一个方法。 | -1 | int |
retainLast (producer) | 指定只保留最后 n 个接收交换数。这在测试大数据时使用,通过不存储此模拟端点接收的每个 Exchange 的副本来减少内存消耗。重要:使用此限制时,getReceivedCounter ()仍会返回收到的实际收到的交换数。例如,如果我们收到 5000 Exchanges,并且已配置为仅保留最后 20 交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有最后 20 Exchanges。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…)在收到的第一个正文数量上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个收到的第一个和最后一个方法。 | -1 | int |
sleepForEmptyTest (producer) | 当 expectedMessageCount (int)被调用为零时,允许一个 sleep 指定等待检查此端点是否为空。 | long | |
copyOnExchange (producer (advanced)) | 设置在此模拟端点接收时是否生成传入 Exchange 的深度副本。默认为 true。 | true | 布尔值 |