谁能解释一下我们在哪种情况下使用 PowerMockito.when() 和 PowerMockito.doReturn()
Can any one explain in which case we use PowerMockito.when() and PowerMockito.doReturn()
我正在为我的服务编写测试用例 class,但我不确定何时使用 PowerMockito.when()
和 PowerMockito.doReturn()
,因为这两种行为看起来与我相似。
根据我的理解,doReturn() 和 when() 几乎相等,但我在 when() type-checking 中发现的差异是您在编译时返回的值,其中
在 doReturn() 中没有 type-checking 你在编译时返回的值
例如:
案例 1:
PowerMockito.when(mongoTamplate.getCollection(Mockito.eq("testdoc"))).thenReturn(mongoCollection);
案例2:
powerMockito.doReturn(mongoCollection).when(mongoTamplate).getCollection(Mockito.eq("test-doc"))
如果在编译时检查了 case 1 类型的 mongoCollection,而在 case2 中没有在编译时检查类型 mongoCollection
我正在为我的服务编写测试用例 class,但我不确定何时使用 PowerMockito.when()
和 PowerMockito.doReturn()
,因为这两种行为看起来与我相似。
根据我的理解,doReturn() 和 when() 几乎相等,但我在 when() type-checking 中发现的差异是您在编译时返回的值,其中 在 doReturn() 中没有 type-checking 你在编译时返回的值
例如:
案例 1:
PowerMockito.when(mongoTamplate.getCollection(Mockito.eq("testdoc"))).thenReturn(mongoCollection);
案例2:
powerMockito.doReturn(mongoCollection).when(mongoTamplate).getCollection(Mockito.eq("test-doc"))
如果在编译时检查了 case 1 类型的 mongoCollection,而在 case2 中没有在编译时检查类型 mongoCollection