Проверенное исключение недействительно для этого метода! Тестирование Junit5 JMSException не удалось

Я не могу издеваться над очередью jms TextMessage для тестирования. JMSException пробовал несколько способов, но, похоже, я этого не понимаю. любая помощь приветствуется.

Кажется, я не могу правильно издеваться и использовать объект Message.

Исходный код:

    public class ConsumeService {
    
      private DataProcessService dataProcessService;
    
    @JmsListener
      public void getMessage(final Message message) throws InterruptedException {
    
        if (message instanceof TextMessage) {
          TextMessage message = (TextMessage) message;
          try {
            
    
            dataProcessService.processRequestData(
                message.getText(), prepareInfo(message));
            
    
          } catch (JMSException e) {
            log.error("JMSException in message");
          } catch (ResourceAccessException e) {
            log.error("IOException in message");
          }
        } else {
          log.error("message convertion failed!");
        }
      }
     }

Код модульного теста:

    @InjectMocks ConsumeService consumeService;
    
    @Mock DataProcessService dataProcessService;
    
    @Test
      public void testException() throws ResourceAccessException, JMSException{
    
        TextMessage message = mock(TextMessage.class);
        
        Mockito.lenient()
        .when(
            dataProcessService.processRequestData(
                    ((TextMessage) message).getText(), prepareInfo((TextMessage) message)))
        .thenThrow(JMSException.class);
        
        assertThrows(
                JMSException.class,
                () -> this.consumeService.getMessage(message));
      }
    
    private Map<String, String> prepareInfo(TextMessage mqMessage) throws JMSException {
    
        ..
        ..
        
      }

Ошибка:

org.mockito.exceptions.base.MockitoException: 
Checked exception is invalid for this method!

person Reese    schedule 23.07.2021    source источник
comment
Возможно, это отвечает на ваш вопрос: stackoverflow .com/questions/3762047/   -  person George Lvov    schedule 23.07.2021
comment
спасибо .. я понял, где я ошибся. Но теперь, как издеваться над этим методом dataProcessService.processRequestData(((TextMessage) message).getText(), prepareInfo((TextMessage) message))), я не понимаю, как имитировать вывод метода prepareInfo внутри метода. не могли бы вы помочь   -  person Reese    schedule 24.07.2021
comment
я должен создать отдельный вопрос для этого?   -  person Reese    schedule 24.07.2021
comment
Я вижу, что метод prepareInfo находится в тестовом классе, почему вы хотите издеваться над ним?   -  person George Lvov    schedule 24.07.2021
comment
Я создал для этого отдельную тему. Просьба посмотреть один раз. stackoverflow.com/ вопросы/68513813/   -  person Reese    schedule 25.07.2021