Модульное тестирование с SpringJUnit4ClassRunner с использованием только @Component и @Autowired - PullRequest
0 голосов
/ 05 июня 2018

У меня есть следующий класс:

@Component
public class MyClass {
    @Autowired MyPojo pojo;
}

Как мне проверить это, не издеваясь над введенными бобами?У меня нет конфигурации [XML или декларативная].Я сделал следующее:

@RunWith(SpringJUnit4ClassRunner.class)
@ComponentScan
public class MyClassTest {
    @Autowired MyClass myClass;

    @Test
    public void test() {
        this.myClass...()
    }
}

1 Ответ

0 голосов
/ 05 июня 2018

Если вы не хотите использовать ни один тип конфигурации, ни конфигурацию Java, ни XML, вы можете использовать @ContextConfiguration с указанными классами компонентов:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyPojo.class, MyClass.class })
public class MyClassTest {

    @Autowired 
    private MyClass myClass;

    @Test
    public void test() {
        // myClass...
    }
}

Обратите внимание, что класс MyPojo также должениметь пометку @Component.

Однако в сценарии реальной жизни вам, вероятно, понадобится хотя бы один класс @Configuration (который также можно использовать с @ContextConfiguration).

Пожалуйста,см. Spring Documentation для получения дополнительной информации о поддержке интеграционных тестов Spring.

...