Junit Mockito Mock SessionFactory в тестовый класс DAO

Медхелифи

Я новичок в JUnit и Mockito, и я хочу издеваться над моей SessionFactory внутри моего тестового класса DAO, вот как я продолжаю:

@RunWith(MockitoJUnitRunner.class)
public class TodoDaoTest {
    @Mock 
    SessionFactory sessionFactory;

    @InjectMocks 
    TodoDao todoDao;

    @Mock
    Session session;
    @Mock
    Query query;


    @BeforeClass
    public static void setUpClass(){
    }

    @Before
    public void setUp(){
        Mockito.when(query.setParameter(any(int.class), any(Object.class))).thenReturn(query);
        Mockito.when(session.createQuery(any(String.class))).thenReturn(query);
        Mockito.when(sessionFactory.getCurrentSession()).thenReturn(session);
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void getTodosByUserIdShouldNotReturnNull(){
        User user = new User();
        assertNotNull(todoDao.getTodosByUserId(user.getId()));
    }
}

А это мой класс DAO

@Component
@Transactional
public class TodoDao implements ITodoDao {

    @Autowired
    private SessionFactory sessionFactory;

    @Override
    @PostFilter("filterObject.userByUserId == authenticationFacade.getAuthenticatedFacade()")
    public List<Todo> getTodosByUserId(int userId) {
        List todos;
        todos = sessionFactory.getCurrentSession().createQuery("from Todo where userId = ?").setParameter(0, userId).list();
        return todos;
    }
}

Но у меня есть java.lang.NullPointerExceptionисключение, когда я запускаю свой тест, nullPointerException находится на уровне строкиtodos = sessionFactory.getCurrentSession().createQuery(...)

andrew.b.10

В тесте, который у меня сейчас открыт, я поставлю MockitoAnnotations.initMocks(this)после, Mockito.when(...).thenReturn(...)я получу NullPointerException.

Попробуйте выполнить init, а затем mocks.

Насколько я понимаю, это MockitoAnnotations.initMocks(this)инициализирует заглушенные зависимости. Затем это позволяет when(...).thenReturn(...)настроить поведение на заглушках. Если вы попытаетесь сначала настроить поведение, то зависимости еще не инициализированы и, следовательно, возникнет исключение NullPointerException.

В javadoc mockito есть небольшое описание

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

RestAssured с Mockito: репозиторий mock dao

Junit Mockito NullPointerException для Mock для автоматического подключения на основе конструктора

RestAssured with Mockito: mock dao repository

Как внедрить из контекста приложения в mock в Junit5 Mockito?

NullPointerException: тестирование класса DAO, использующего Ebean, с Mockito и JUnit, Kotlin

Проблема с имитацией SessionFactory гибернации с помощью Mockito

Мокинг DAO в Mockito

Как проверить методы DAO с помощью Mockito?

Как я могу протестировать свой метод Dao с помощью Mockito, если я получаю соединение по параметрам метода?

Jersey + Hibernate Injecting SessionFactory для DAO

Почему Mockito @Mock создание не-макет экземпляр?

Ответ Mockito Mock на основе строкового аргумента

Mockito @Mock не инъекционное имени издевается правильно с помощью инъекции конструктора

Проблема с Mockito: mock вызывает реальный метод

Mockito - Mock не вводится для одного из тест-кейсов

Мягкое сопоставление строк с Mockito Mock

Аннотация @mock с настраиваемым классом ответа в Mockito

Mockito mock не работает должным образом

Сделайте класс mockito mock без вызова mock

JUnit Mockito, когда ... затем из массива объектов

Как имитировать бросать исключение только один раз в повторной попытке с помощью теста JUnit / Mockito?

Как посчитать, сколько раз метод был вызван с помощью Junit и Mockito?

Как имитировать постоянство и сущность с помощью Mockito и jUnit

JUnit Mockito Тест: ноль взаимодействия

JUnit / Mockito: выброс исключения в новом потоке

Используйте Mockito и JUnit для тестовых изображений

Как правильно вызвать метод суперкласса из Mockito Junit

Невозможно протестировать класс десериализации с помощью JUnit и Mockito

Как получить покрытие для переопределены метод анонимного класса с использованием JUnit Mockito

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл