【发布时间】:2021-04-26 10:52:48
【问题描述】:
@ExtendWith(MockitoExtension.class)
class taskTestMain {
@InjectMocks
task task1;
@Mock
private statusRepository statusRepo;
@Mock
status statusRec;
@Test
void test() {
Mockito.when(statusRepo.save(statusRec)).thenReturn(statusRec);
task1.method();
}
}
class task
{
method()
{
statusRec = statusRepo.save(statusRec); //after this step I get Potential stubbing exception
}}
我尝试了几种方法。我无法弄清楚这一点。请建议如何进行。下面我粘贴了junit错误。任务 - 严格的存根参数不匹配。请检查:
- 此“保存”方法的调用:statusRepo.save(status@8bffb8b); -> 在 task.run(task.java:80)
- 具有以下具有不同参数的存根:1. statusRepo.save(status@26a2f7f9 ); -> 在 .taskTestMain.test(taskTestMain.java:110) 通常,存根参数不匹配表明用户在编写测试时犯了错误。 Mockito 会提前失败,以便您轻松调试潜在问题。
感谢您的宝贵时间
【问题讨论】:
-
错误很清楚,你有不同的论点。当您模拟保存方法时,您需要确保您传递的是相同的对象。因此你的equals和hashcode方法不好,先检查一下
标签: spring-boot junit mockito spring-batch junit5