
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.12.2015, 10:39
|
|||
|---|---|---|---|
Mockito: не инжектится Mock EntityManager через field injection |
|||
|
#18+
В тесте пишу Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В данном случае mock должен инжектиться в инстанс UniqueConstraintValidator через field injection, как написано в документации mockito: http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/InjectMocks.html Класс UniqueConstraintValidator Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. entityManager = null Для чего мне понадобился мок в классе валидатора... Когда используется реальный EntityManager, при запуске теста в строке query.createQuery().getResultList(); выбрасывается такой иксепшен: авторorg.hibernate.AssertionFailure: null id in com.clients.entity.CClient entry (don't flush the Session after an exception occurs) Это известная проблема и возникает она обычно при использовании unit-тестов. Другой возможный вариант её решения - очистить сессию hibernate, перед тем действием, которое вызывает ошибку. Но я не знаю как получить сессию в QueryDSL, который тут используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2124615]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 374ms |

| 0 / 0 |
