java - org.mockito.exceptions.misusing.UnfinishedStubbingException' 异常。无法评估 mypackage.MockedService$MockitoMock$980936084.toString()
问题描述
我正在为 Spring Boot 应用程序进行 MVC 测试。
Mockito 抛出了一个奇怪的异常。
我的代码
@ExtendWith(SpringExtension.class)
@WebMvcTest(controllers = MyController.class, secure = false)
class ControllerTest {
@Autowired
private MockMvc mockMvc;
@Autowired
private ObjectMapper objectMapper;
@MockBean
private MockedService mockedService;
@Test
void post() {
Dto dto = createDto();
// this code throws the exception
when(mockedService.save(ArgumentMatchers.argThat(new MyArgumentMatcher())))
.thenReturn(dto);
mockMvc.perform(post("/api").content(
asJsonString(preparePost())
)
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
private static class MyArgumentMatcher implements ArgumentMatcher<Dto> {
@Override
public boolean matches(Dto dto) {
return dto.getField1().equals(FIELD1_VALUE) &&
dto.getField2().equals(FIELD2_VALUE) &&
dto.getField3().equals(FIELD3_VALUE) &&
dto.isField4() == FIELD4;
}
}
//...
我从未见过 Mockito 的这种行为。添加自定义toString()
从来都不是 Mockito 的要求,即使我这样做了 - 没有任何改变。
这里有什么问题?我不知道。
解决方案
推荐阅读
- react-native - 在 react-navigation 嵌套路由中增加了 IOS 和 Android 的内存使用量
- selenium-webdriver - 我找不到此表的 xpath 或 css 定位器
- gnuplot - 你如何对 gnuplot 中的每 n 列数据求和?
- python - Python 的 select() 延迟报告子进程输出的存在
- javascript - 如何在 Javascript 中创建数学上正确且可接受的分区
- python - 创建一个复杂的循环
- r - 在 Rstudio 中安装 R 闪亮出现错误
- python - 在python中查找轨迹时间序列的周期性
- asp.net - Linq Enity Framework,从 IQueryable 导航属性中的集合中选择
- php - 如何将获取值 php 添加到引导切换折叠中?