gpt4 book ai didi

java - 如何模拟 object.getMap().get ("String_Key_to_return_Object")

转载 作者:行者123 更新时间:2023-12-02 02:10:13 25 4
gpt4 key购买 nike

我如何模拟这种情况

   ObjectOfBeanClass.getMapObject().get("String_Key_To_Return_Object")

我尝试以下方法:

1) when(ObjectOfBeanClass.getMapObject().get("String_Key_To_Return_Object")).thenReturn(Object);

In this Case, it throws an exception that getMapObject() Should return a Map_Object

2) doReturn(Object).when(ObjectOfBeanClass.getMapObject()).thenReturn(Object);

in this case, it shows following error org.mockito.exceptions.misusing.UnfinishedStubbingException: Unfinished stubbing detected here:

最佳答案

您可以将 map 作为一个整体进行模拟,并分两步进行调用。

Map<String> map = mock(Map.class);
when(map.get(yourString)).thenReturn(object);
when(objectOfBeanClass.getMap()).thenReturn(map);

或者,如果 objectOfBeanClass 是您的测试主题,请调用

objectOfBeanClass.setMap(map);

正如 chrylis 指出的,您也可以创建一个实际的 Map 实例,而不是模拟它:

Map<String> map = Collections.singletonMap("String_Key", object);
when(objectOfBeanClass.getMap()).thenReturn(map);

只要您不想将 map 用于 verify() 或类似的东西,就可以了。

关于java - 如何模拟 object.getMap().get ("String_Key_to_return_Object"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50127302/

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