У меня есть следующий метод:
@Transactional
@Override
public Ticket buyTicketFor(String user) {
Ticket ticket = null;
synchronized (MUTEX) {
List<Ticket> availableTickets = ticketRepo.findAllTickets();
Collections.shuffle(availableTickets);
ticket = availableTickets.get(0);
}
return ticket;
}
Я хочу создать тест, который позволит мне тестировать двух пользователей, получающих два билета, но они не должны одновременно обращаться к БД. Как я могу создать тест, чтобы позволить мне сделать это. Я хотел использовать mockito и junit 5, но я думаю, что это будет возможно только с помощью интеграционного тестирования, где я раскручиваю реальный сервер и БД.