【问题标题】:How to add mock for following in junit如何在junit中添加模拟以进行关注
【发布时间】:2022-01-05 15:13:41
【问题描述】:
        propSet = childRes.getValueMap().keySet();

以上用java编写的代码谁能帮我在junit的mockito中编写mock

【问题讨论】:

标签: java junit mockito aem testcase


【解决方案1】:

你可以使用

Map data = new HashMap<>();// add data to it
YOUR_CLASS_NAME childRes = Mokito.spy(YOUR_CLASS_NAME.class);//Mokito.mock(YOUR_CLASS_NAME.class);
Mockito.when(childRes.getValueMap()).thenReturn(map);

不同之处在于,在 mock 中,您正在创建一个完整的 mock 或假对象,而在 spy 中,有真实的对象,您只是监视或存根它的特定方法。 ... 当然,在 spy 对象中,由于它是一个真实的方法,当您不存根该方法时,它会调用真实的方法行为。

【讨论】:

    【解决方案2】:

    你必须mock上面对象引用childRes的类类型。

    例如:

    Mockito.mock(ChildResponse.class);
    

    稍后你必须存根getValueMap()

    Map<String> data = new HashMap<>();
    // Populate some data into map
    ChildResponse childRes = Mockito.mock(ChildResponse.class);
    when(childRes.getValueMap()).thenReturn(data);
    

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 1970-01-01
      • 2020-06-03
      • 2019-08-31
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      相关资源
      最近更新 更多