Требуется, но не вызывается ошибка (Mockito с ошибкой junit5 в Springboot) - PullRequest
0 голосов
/ 28 января 2020

Моя ссылка на Github ниже - https://github.com/Anupam5713/shiftPlannerAPI/blob/master/src/test/java/service/ShiftPlanServiceTest.java В моем классе ShiftPlanServiceTest метод verify не может вызвать метод save () при запуске тестового класса. Я пробовал разные подобные вопросы здесь, чтобы попытаться исправить ошибку, но пока не повезло. Я довольно новичок в Мокито. Не могли бы вы проверить, что может быть причиной этого в моем коде? Он должен вызываться ровно 36 раз.

1 Ответ

0 голосов
/ 28 января 2020

Вам нужно шпионить за sps

вместо @InjectMocks, попробуйте поставить @Spy.

, а затем вызвать ваш метод

sps.createShiftPlan(4, 1, 2020);
verify(spr, times(36)).save(any(ShiftPlan.class));

Шпион означает - делать то, что первоначально должен делать метод, и дать мне дополнительные данные о том, что произошло посередине. Возможно, вам понадобятся дополнительные шутки и шпионы, чтобы это работало, чтобы иметь возможность узнать, мне нужно увидеть содержимое вашего createShiftPlan метода

Вы должны сообщить своему sps объекту используйте mocked spr объект вместо реального spr объекта

после того, как вы шпионите за sps, вам нужно смоделировать его spr объект

вашего источника является частным пакетом, создайте для него метод получения внутри класса обслуживания sps: getSpr(), который возвращает исходный spr в реальном коде, но поддельный в тестовом коде.

После того, как вы шпионите за sps, вы нужно сделать

doReturn(mockedSpr).when(sps.getSpr())

и только тогда вы сможете что-либо проверить на spr.

...