我有以下方法:
@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,但我认为只有通过集成测试才能实现,在该测试中,我会启动一个实际的服务器和数据库。