java - Citrus Test Framework 消息存储不保存消息

标签 java citrus-framework

我正在从 AMQ 代理获取消息,并且需要验证纯文本负载。看来 citrus 在纯文本验证方面非常有限,并且验证匹配器无法让我到达需要的位置,因此我需要使用 java 代码来处理它。

代码是使用基本的 java 对象来设置发送和接收的消息。当

    sendMessageToAMQ(message);

    receivePlainTextMessage(message)
            .selector(message.getHeaderName()+"='"+message.getHeaderValue()+"'")
            .name("sampleName");

    context.getMessageStore().getMessage("sampleName").getPayload();

上下文作为 Citrus 资源在文本级别传递。上面的代码行(最后一行)抛出一个空指针,因为消息没有显示为存储的又名消息存储大小= 0。同时 echo("citrus:message(sampleName.payload())") 只打印有效负载很好。

我什至尝试过variable("msg", "citrus:message(sampleName.payload())"),但返回一个错误,指出找不到带有名称的消息。

请帮忙

最佳答案

关键是:你应该使用下一个方法 .messageName() 而不是 .name()

然后消息数据将被保存到 Citrus 上下文中

关于java - Citrus Test Framework 消息存储不保存消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61371669/

相关文章:

java - 对 Arraylist 进行多次排序

java - FragmentManager 中的 IllegalStateException -> restoreAllState() : Could not find active fragment with index -1

java - Android 应用程序在手机上崩溃。

java - 在 Citrus Framework 中的不同方法中重用 HTTP 消息

java - Citrus XPath 验证找不到元素

java - Citrus 框架 - 无法成功构建示例

java - 在可选的 orElseThrow 上返回默认/通用异常

java - 不同包下的两个不同 jar 中的相同类。它会导致应用程序执行出现任何问题吗?

testing - Citrus 航类预订样本执行?

java - 使用 Citrus 框架提取 JSON 有效负载