【发布时间】:2018-12-10 13:56:52
【问题描述】:
我正在更改我们的身份策略,并且我们正在使用在将实体写入数据库之前生成的 ID。由于我们模拟某些服务调用的方式,此更改导致我们的一些测试失败。
TimeLog timeLog = buildTimeLog('123456', mockEmployeeId);
TimeLog mockTimeLog = buildTimeLog('123456', mockEmployeeId);
when(this.timeLogService.save(mockTimeLog)).thenReturn(timeLog);
当测试调用 Controller 时,Controller 中的绑定实体会获得与预期的模拟不同的 ID,因为实体会生成 ID。而在此之前,数据库生成了 ID,因此模拟工作。
如果有办法告诉 Mockito 忽略期望中的属性?这将解决问题,测试仍然有效。否则,欢迎使用其他方法。
【问题讨论】:
标签: unit-testing spring-boot mocking mockito