重置模拟在模拟中做什么?模拟的什么状态会重置,什么保持不变?

时间:2019-03-14 20:59:20

标签: mockito

重置mock时会发生什么。

说模拟是

val mockHelperMethods = mock(classOf[HelperMethods])
  when(mockHelperMethods.getUniqueID()).thenReturn(UUID.fromString("11111111-1111-1111-1111-111111111111"))
  when(mockHelperMethods.bucketIDFromEmail(ArgumentMatchers.any())).thenReturn(1)

如果我打电话给reset(mockHelperMethods),我是否需要再次做whenthenReturn

模拟的什么状态会重置,什么保持不变?

1 个答案:

答案 0 :(得分:0)

是的,如果调用reset(mock),则需要重新定义模拟的行为(通过when)。否则,其方法将再次开始返回默认值(null,0,“”等)。

有关reset方法,请参见docs

需要说的是,重置模拟被认为是不好的做法。它表明您在测试方法中测试了不止一项。