Итак, я пытаюсь проверить свой уровень обслуживания, и я смоделировал свой репозиторий. Я хочу сделать следующее:
@ExtendWith(MockitoExtension.class)
public class TicketServiceTest {
@Mock
private TicketRepository ticketRepository;
@InjectMocks
private TicketService ticketService;
@Test
public void test_buy_ticket_successfully() {
Ticket ticket = new Ticket(1, false, false, "");
List<Ticket> availableTickets = Arrays.asList(ticket);
Mockito.when(ticketRepository.findAllUnboughtAndUnpickedTickets()).thenReturn(availableTickets);
Mockito.when(ticketRepo.findById(any(Integer.class)).thenReturn(Optional.of(any(Ticket.class));
Ticket boughtTicket = ticketService.buyTicket("123");
assertNotNull(boughtTicket);
assertEquals(1, boughtTicket.getId());
Mockito.verify(ticketRepository).findAllUnboughtAndUnpickedTickets();
}
Ошибка, которую я получаю:
Type mismatch: cannot convert from Matcher<Integer> to Integer
Все, что я хочу для этого нужно использовать любые средства сопоставления на входе и выходе, но это не работает, так как мой репозиторий выглядит следующим образом:
public interface TickRep extends JpaRepository<Ticket, Integer>
Я использую весеннюю загрузку, junit 5.
Есть идеи?