джунит |Компоненты с автопроводкой в ​​основном пустые - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть класс, определенный в src / main / java:

Class A{
    @Autowired 
    B b; 
    public void method1() {}
} 

Соответствующий класс теста:

Class ATest {
    A a; 
    @Test
    public void method1Test() {}
}

B равен нулю, когда ATest тестируется модулем.(запустить как джунит тест).

У меня есть только библиотека Spring-Context, а не приложение Spring boot.Кроме того, я определил @ComponentScan(basePackage="com"), и класс A находится внутри того же пакета.

Пожалуйста, дайте мне знать, как выполнить модульное тестирование в этом сценарии.

Ответы [ 3 ]

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

Почему вы определяете классы, которые не являются модульными тестами в каталоге ресурсов?

0 голосов
/ 14 апреля 2019

Mockito предоставляет возможность создавать шпионов на реальных объектах.Когда вызывается шпион, вызывается реальный метод реального объекта.

@RunWith(MockitoJUnitRunner.class)
Class ATest {

    @Syp
    B b;

    @Test
    public void method1Test() {}
}
0 голосов
/ 28 февраля 2019

Для зависимостей Spring я добавляю в тестовый класс @Spy и @Autowired:

@Spy
@Autowired
private B b;

B будет доступно при тестировании A

...