gpt4 book ai didi

java - AssertJ 将提取的字段转换为 Map

转载 作者:行者123 更新时间:2023-12-03 18:19:04 24 4
gpt4 key购买 nike

我有一个带有 Message 字段的 MessageHeaders 对象。 MessageHeaders 类实现了 Map<String, Object> 。我想断言我设置了特定的标题。我无法启动 MapAssert 方法。

这是我想要完成的:

assertThat(actual)
.extracting(Message::getHeaders) // This returns AbstractObjectAssert though
.containsKeys("some key"); // Not available

这里的 MessageMessageHeaders 类要清楚:
public class Message {
private MessageHeaders headers;
// getter
}


public class MessageHeaders implements Map<String, Object>, Serializable {
// methods
}

最佳答案

为了使用 MapAssert,您需要直接提取 MessageHeaders 字段并使用 asInstanceOf 进行提取:

assertThat(actual)
.extracting("headers")
.asInstanceOf(InstanceOfAssertFactories.MAP)
.containsKey("some key");

关于java - AssertJ 将提取的字段转换为 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57581575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com