Как смоделировать entityManager.getTransaction (). Begin () в Hibernate с помощью Mockito? - PullRequest
0 голосов
/ 24 июня 2018

Я работаю над реализацией DAO, которая должна сохранять сущность, но я застрял, когда имитирую начало транзакции.

В частности, я не знаю, как издеваться над Мокито:

entityManager.getTransaction().begin();

1 Ответ

0 голосов
/ 29 июня 2018

Вы можете издеваться entityManager и заставить его возвращаться transaction издеваться.

public class DaoTest {

  EntityManager entityManager = Mockito.mock(EntityManager.class);
  EntityTransaction transaction = Mockito.mock(EntityTransaction.class);
  Dao dao = new MyDao();

  @Test
  void whenSave_thenBeginTransaction(){
    when(entityManager.getTransaction()).thenReturn(transaction);
    dao.save(new MyObject());
    verify(transaction).begin();
  }            
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...