Частично издеваться над bean-компонентом Spring при запуске тестовJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Частично издеваться над bean-компонентом Spring при запуске тестов

Сообщение Anonymous »

Мое приложение Spring Boot v3.2.0 содержит компонент типа LocalContainerEntityManagerFactoryBean. Когда тесты выполняются, я хочу, чтобы метод уничтожить этого компонента (определенный в родительском классе AbstractEntityManagerFactoryBean) ничего не делал. Я попытался добиться этого с помощью

Код: Выделить всё

import static org.mockito.Mockito.doNothing;
// other imports omitted

@SpringBootTest
public class MyIntegrationTests {

@SpyBean
private AbstractEntityManagerFactoryBean entityManagerFactoryBean;

@Test
void myIntegrationTest() {
doNothing().when(entityManagerFactoryBean).destroy();
// remainder of test omitted
}
}
Но когда я запускаю тест, я получаю эту ошибку, которая указывает на то, что шпион не создается дляentityManagerFactoryBean

Код: Выделить всё

org.mockito.exceptions.misusing.NotAMockException:
Argument passed to when() is not a mock!
Даже если бы это решение работало, я бы не был им полностью удовлетворен, потому что нет очевидного способа повторно использовать его в других классах интеграционного тестирования (кроме копирования).
p>
Есть ли другой способ заглушить метод уничтожить этого компонента при запуске тестов?

Подробнее здесь: https://stackoverflow.com/questions/776 ... -tests-run
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»