当前位置: 首页 > 面试题库 >

Mockito thenReturn返回相同的实例

林蕴藉
2023-03-14
问题内容

我在Mockito中有这个:

when(mockedMergeContext.createNewEntityOfType(IService.class)).thenReturn(new ServiceMock());

createNewEntityOfType方法应始终返回一个新ServiceMock实例,但它会返回两次相同的引用。

为什么该thenReturn方法不返回新值ServiceMock


问题答案:

thenReturn方法将始终返回传递给它的内容。该代码new Servicemock()是在调用之前执行的thenReturnServiceMock然后将创建的内容传递给thenReturn。因此thenReturn有一个绝对的实例而ServiceMock不是创建机制。

如果需要提供新实例,请使用thenAnswer

when(mockedMergeContext.createNewEntityOfType(IService.class))
  .thenAnswer(new Answer<IService>() {
     public IService answer(InvocationOnMock invocation) {
        return new ServiceMock();
     }
   });


 类似资料:
  • 有一个InfiniteScrollListener,在该侦听器中,在方法中,我计算可见项计数和总计项计数,以检查是否应该加载新项。当totalItemCount和visibleItemCount相同时,会导致无限循环的加载。侦听器与我的另一个或作为父级的侦听器一起工作得很好。我想保持这种结构,因为客户不会接受改变。 我在一个活动中有一个片段,它的布局如下所示

  • 我有以下代码: 问题:是否可以替换 d - *我对这个问题的标题不太清楚-如果有问题,请编辑。 谢啦

  • 问题内容: 今天,我了解并决定将其使用和测试。我知道整数是不可变的,因此id应该是(?)相同。但是,当我在提示中进行测试时,我注意到了一些细微的差异,并想找出其背后的原因。 凉!到目前为止,所有签出。但是之后… 好的,所以测试一下,我注意到此行为一直持续到256年。id最多可以是8位数字,然后257将返回更大的id,可以是15位数字。因此类型必须是8个字节。 所以我发现它与8个字节长有关,但是任何

  • 但当我的代码调用提供程序时,将foo作为任何文本,wiremock返回: 如何构建一个与请求体响应相同参数的契约? 编辑 也许不支持从请求获取正则表达式值?

  • 问题内容: 这是对该问题的更多甚至更好的描述: 我做一个简单的选择查询。返回列表包含确切的记录/对象数,就好像我在数据库中进行相同的查询一样,但是问题在于所有对象都是相同/相同的。 例如,这是数据库中的结果(我删除了空值): 26801 01-JAN-00 7 31-DEC-99 7 Obere Kirchstr。26 CH 8304 Walliselln 26801 01-JAN-00 2 31

  • 问题内容: 我有以下二维位图: 出于好奇,我想检查一下,如果它将使用整数而不是布尔值,它将占用多少空间。所以我检查了当前大小并得到 104 之后,我修改了 但仍然有 104 然后我决定看看仅用字符串我就能得到多少: ,仍然显示 104 这看起来很奇怪,因为我期望字符串列表列表浪费大量的内存,而不仅仅是布尔值。 显然我缺少有关getsizeof如何计算大小的信息。谁能解释我为什么得到这样的结果。 P