Поддержка модульного теста Java только для определенного значения идентификатора, но не поддержка других целочисленных з ⇐ JAVA
Поддержка модульного теста Java только для определенного значения идентификатора, но не поддержка других целочисленных з
Я хотел написать модульный тест для запроса обновления для одного из моих репозиториев Jpa. ниже приведена моя реализация.
публичный интерфейс UserRepository расширяет JpaRepository { @Модификация @Query("Обновить пользователя u set u.active = false, где u.userId =:userId") void updateEmployee (Целый идентификатор пользователя); ....... } В тестовом примере я написал, как показано ниже:
@DataJpaTest класс UserAppRepoTest { @Autowired частный EntityManager EntityManager; @Autowired частный UserRepository userRepository; общественный недействительный flashAndClear () { entityManager.flush(); entityManager.clear(); } @Тест общественный недействительный updateUserRecord () { Пользователь пользователя = новый пользователь(); user.setUserId(2); entityManager.merge(пользователь); флешИОчистить(); userRepository.updateEmployee(user.getUserId()); Результат пользователя =entityManager.find(User.class, user.getUserId()); AssertEquals(false, result.getActive()); } } Но здесь тестовый пример проходит только для user.setUserId(2). Если для userId заданы другие целочисленные значения, тестовый пример не пройден. Я не смог понять, почему это происходит только для userId = 2. Пользовательский объект получает значение null (result = null) для других целых чисел. Например, user.setUserId(1), user.setUserId(3), .... и так далее. Я ожидаю узнать, что правильно использую тестовый пример для конкретного запроса?
Я хотел написать модульный тест для запроса обновления для одного из моих репозиториев Jpa. ниже приведена моя реализация.
публичный интерфейс UserRepository расширяет JpaRepository { @Модификация @Query("Обновить пользователя u set u.active = false, где u.userId =:userId") void updateEmployee (Целый идентификатор пользователя); ....... } В тестовом примере я написал, как показано ниже:
@DataJpaTest класс UserAppRepoTest { @Autowired частный EntityManager EntityManager; @Autowired частный UserRepository userRepository; общественный недействительный flashAndClear () { entityManager.flush(); entityManager.clear(); } @Тест общественный недействительный updateUserRecord () { Пользователь пользователя = новый пользователь(); user.setUserId(2); entityManager.merge(пользователь); флешИОчистить(); userRepository.updateEmployee(user.getUserId()); Результат пользователя =entityManager.find(User.class, user.getUserId()); AssertEquals(false, result.getActive()); } } Но здесь тестовый пример проходит только для user.setUserId(2). Если для userId заданы другие целочисленные значения, тестовый пример не пройден. Я не смог понять, почему это происходит только для userId = 2. Пользовательский объект получает значение null (result = null) для других целых чисел. Например, user.setUserId(1), user.setUserId(3), .... и так далее. Я ожидаю узнать, что правильно использую тестовый пример для конкретного запроса?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Рефакторинг приложения Spring Boot с Java на Kotlin: ошибки модульного теста
Anonymous » » в форуме JAVA - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-