Поддержка модульного теста Java только для определенного значения идентификатора, но не поддержка других целочисленных з ⇐ JAVA
-
Anonymous
Поддержка модульного теста 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), .... и так далее. Я ожидаю узнать, что правильно использую тестовый пример для конкретного запроса?
Мобильная версия