在春天测试同步的方法/块

时间:2020-03-20 17:45:28

标签: spring-boot mockito junit5

我有以下方法:

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

0 个答案:

没有答案