gpt4 book ai didi

java - Spring Batch : How to cast stepContext. getJobExecutionContext() 进入mockito中的自定义Map实现,然后

转载 作者:行者123 更新时间:2023-12-01 16:55:12 24 4
gpt4 key购买 nike

此问题与 This 相关。为什么我在这里问而不更新问题,因为这可能是有用的问题,并且与我问的上一个问题无关。

在测试类中,我如何转换以下实现:假设我有一张这样的 map :TreeMap<String, Map<Integer, Set<Student>>>

我想转换默认值 chunkContext.getStepContext().getJobExecutionContext()这是 Map<String, Object>TreeMap<String, Map<Integer, Set<Student>>>在我的测试课中。

现有实现是:

Mockito.when(chunkContext.getStepContext().getJobExecutionContext().get("keyOfStudentMap"))
.thenReturn((TreeMap<String, Map<Integer, Set<Student>>>)studentMap);

当我将鼠标悬停在 getJobExecutionContext() 时,它显示Map<String, Object>并希望以一种可以更改为 TreeMap<String, Map<Integer, Set<Student>>> 的方式进行更改

抱歉,如果有任何不清楚的地方。我可以根据您的评论更新问题。 :)

最佳答案

而不是这样做:

chunkContext.getStepContext().getJobExecutionContext()

您需要使用:

chunkContext.getStepContext().getStepExecution().getJobExecution().getExecutionContext()

返回 ExecutionContext 的实例.

现在无论你在 ExecutionContext 中输入什么键,调用 get 时您会得到原样因此您可以将其转换为原始类型(在您的情况下为 TreeMap<String, Map<Integer, Set<Student>>> )。

关于java - Spring Batch : How to cast stepContext. getJobExecutionContext() 进入mockito中的自定义Map实现,然后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61601670/

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