问题描述
我正在为我的服务类编写测试用例,但是我不确定何时使用powermockito.when()
和powermockito.doReturn()
,因为两者的行为都与我相似。
解决方法
根据我的理解,doReturn()和when()几乎相等,但是我发现when()对您在编译时返回的值进行类型检查的区别在于 在doReturn()中,没有对您在编译时返回的值进行类型检查
例如:
案例1:
PowerMockito.when(mongoTamplate.getCollection(Mockito.eq("testdoc"))).thenReturn(mongoCollection);
案例2:
powerMockito.doReturn(mongoCollection).when(mongoTamplate).getCollection(Mockito.eq("test-doc"))
如果在编译时检查了1种类型的mongoCollection,而在编译时没有检查case2的类型2中,