java - org.mockito.exceptions.misusing.WrongTypeOfReturnValue: ArrayList 不能由 getDetails() 返回
问题描述
这是代码
public class TodoBusinessImpl {
BusinessManager businessManager;
public TodoBusinessImpl(BusinessManager businessManager) {
this.businessManager = businessManager;
}
public List<String> retrieveTodosRelatedToSpring(String user) {
List<String> filteredTodos = new ArrayList<String>();
Map<String, String> test = businessManager.getDetails();
return filteredTodos;
}
}
那有什么问题?我做错了什么
public class MockitoTest {
private BusinessManager businessManager;
@Before
public void setUp() {
businessManager = Mockito.mock(BusinessManager.class);
}
@Test
public void retrieveTodosRelatedToSpringTest() {
TodoBusinessImpl todoBusinessImpl = new TodoBusinessImpl(businessManager);
Mockito.when(todoBusinessImpl.retrieveTodosRelatedToSpring("test"))
.thenReturn(Arrays.asList("test"));
}
}
这是测试课。获取 org.mockito.exceptions.misusing.WrongTypeOfReturnValue: ArrayList 无法由 getDetails() 返回的异常
解决方案
您必须调用您正在测试的方法,而不是模拟它的行为“不告诉它在被调用时要做什么”。代替:
Mockito.when(todoBusinessImpl.retrieveTodosRelatedToSpring("test")).thenReturn(Arrays.asList("test"));
你应该做这个:
List<String> list = todoBusinessImpl.retrieveTodosRelatedToSpring("test");
// print list or assert it's content to make sure you're getting the right response
推荐阅读
- unity3d - 通过网络将视频从 HoloLens2 流式传输到 PC
- go - 如果另一个 goroutines 崩溃了,你如何保持 goroutines 运行?
- android - 私有访问适配器类上的错误 Recyclerview 视图持有者
- powerbi - SUMMARIZECOLUMNS 返回所有未来日期的结果
- python-3.x - 如何在 Python 中使用 selenium webdriver 从表中提取数据,但有一些例外
- django - 在heroku中找不到静态文件
- node.js - MySQL 节点
- prestashop - 显示 SpecificPriceRule 信息
- flutter - 排序图
颤振,飞镖 - ios - 如何更改 UIContextualAction 按钮的标题颜色和图像色调颜色