Дразнить весенний боб и его внутренние зависимости - PullRequest
0 голосов
/ 04 марта 2019

Привет, я новичок в весенних тестах.У меня есть Spring bean, который похож на это -

BEAN A{
    @Autowired
    BEAN B;
    @Autowired
    BEAN C;
}

Я хочу посмеяться над Bean A, а также с его внутренними зависимостями.

Когда я пытаюсь установить макет экземпляра Бина A с помощью Mockito, происходит сбой с «UnsatisfiedDependencyException».

Поэтому мне нужно найти и найти все зависимости в Бине A и макетпо отдельности.

Есть ли способ, которым я могу издеваться над пружинным бобом и всеми его внутренними зависимостями за один раз?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Если вы используете Mockito, вы можете сделать так:

@Mock
private BeanB beanB

@Mock
private BeanC beanC;

@InjectMock
private BeanA beanA;

У вас есть 2 способа заставить Mockito работать с этим:

Вы можете аннотировать свой тестовый класс с помощью

@RunWith(MockitoJUnitRunner.class)

Второй вариант заключается в вызове

Mockito.initMock(this)

в вашем методе @Before

0 голосов
/ 04 марта 2019

Все, что необходимо для модульного тестирования кода с использованием Бина A:

@Mock A a;

Все, что необходимо для модульного тестирования Бина A:

@Mock B  b;
@Mock C  c;

A a = new A(b, c);

Для тестирования с помощьюпружинный тест, конфигурация теста может быть настроена, например, так:

@Mock B  b;
@Mock C  c;


@Configuration static public class TestConfig {
    @Bean B b() { return b; } 
    @Bean C c() { return c; } 
    @Bean A a(B b, C c) {
        return new A(b,c);
    } 
}
...