Только через XML вы не можете.
На самом деле я бы не советовал вам практиковать использование макетов Mockito весной для тестирования. И вот почему:
Обычно, когда Unit Testing , вы хотите протестировать один класс изолированно, в конце концов, это модульное тестирование, поэтому Spring DI вообще не нужен в этом случае , Вы просто вводите сотрудников вашего испытуемого самостоятельно или, возможно, с помощью удобной аннотации @InjectMock
.
Если, однако, вам нужно протестировать что-то с другой системой, такой как DAO с базой данных, тогда вам, вероятно, понадобится проводка Spring для подключения к реальной БД или к какой-либо в БД памяти, такой как H2. Но в этом случае вы создаете интеграционный тест . И, скорее всего, в этом случае вам не нужны насмешки.
Тем не менее, у вас могут быть особые потребности, и вышеприведенный пункт может быть неуместен в вашем конкретном ограниченном контексте . Но опять же, по моему мнению, если это конкретно, я не думаю, что было бы излишним создавать себе простой фабричный компонент MockSettings (который мог бы быть даже настраиваемым).
например. Вы можете написать это раз и навсегда в техническом модуле вашего приложения:
public class SpringMockSettingsFactoryBean extends AbstractFactoryBean<MockSettings> {
@Override public Class<Multimap> getObjectType() {
return MockSettings.class;
}
@Override protected Multimap<String, String> createInstance() throws Exception {
// ... your code
return mockSettings;
}
}
Существует проект springockito для битбакета, который пытается создать сфокусированное на mockito пространство имен весной. Я не думаю, что проект может сделать это, но автору фреймворка может быть интересно реализовать эту функцию.
Надеюсь, это поможет.