Подтвердить что ты не робот

Spring Конфигурация java unit test

Я пытаюсь настроить java-конфигурацию spring. При использовании xml-конфигурационных файлов мои модульные тесты используют следующие

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(....)

Если я использую java-конфигурацию, как это сделать. или я должен просто использовать

ApplicationContext appConfig = new  AnnotationConfigApplicationContext(SimpleConfiguration.class);
4b9b3361

Ответ 1

Начиная с Spring 3.1, @ContextConfiguration теперь имеет полную поддержку классов @Configuration; XML не требуется.

См. http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#d0e1392

Или, более конкретно, http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#testcontext-ctx-management-javaconfig, в котором показан следующий фрагмент кода:

@RunWith(SpringJUnit4ClassRunner.class)
// ApplicationContext will be loaded from AppConfig and TestConfig
@ContextConfiguration(classes={AppConfig.class, TestConfig.class})
public class MyTest {
    // class body...
}

AppConfig и TestConfig - это классы @Configuration (ака "классы Java config" в комментариях @user373201)

Ответ 2

@ContextConfiguration используется для загрузки конфигураций Spring во время работы с тестовыми примерами. Если вам это не нужно, вы можете использовать ClassPaспасибоmlApplicationContext для загрузки конфигурации Spring.

Используйте конструктор который принимает расположение конфигурации в виде массива String.

AnnotationConfigApplicationContext используется для автоматического обнаружения аннотированных классов. Я не думаю, что он может использоваться для загрузки файлов конфигурации. Он похож на контекст: компонент-сканирование

SpringJUnit4ClassRunner предоставляет Spring тестовую поддержку Junit с помощью аннотаций, таких как @Test.