Может быть, вы неправильно понимаете, как работают издевательства. Ваш тестируемый класс создает свой собственный ObjectMapper
через new
внутри метода. Это означает, что вы не можете ввести макет, чтобы заменить его во время теста. Поэтому вам нужно провести рефакторинг, чтобы сделать ваш код тестируемым. Создание макета внутри теста магическим образом не заставляет тестируемый класс использовать его, если вы не можете внедрить его.
Более того, если вы хотите, чтобы ваш ObjectMapper
макет генерировал исключение, просто сгенерируйте исключение. Не надо издеваться над исключением тоже. Это не имеет никакого смысла делать это в вашем контексте.
Кроме того, ваш вопрос может использовать улучшение. Предлагаю предоставить полный тестовый класс вкл. Название пакета и импорт. Пожалуйста, также предоставьте проверяемый код. Я могу только догадываться, что делает тестируемый класс, читая ваш тест, например, вызывая метод buildRequestAndPublish
какого-то загадочного объекта службы, если не выдается исключение. То, что это происходит , а не , кажется, что вы тестируете, но я могу только строить догадки.
Не стесняйтесь задавать дополнительные вопросы, если вы не понимаете мой ответ.
PS: Если вы отредактируете свой вопрос, чтобы превратить его в MCVE , я обещаю также обновить мой ответ конкретным решением вашей проблемы.