Я хотел бы зарегистрировать некоторые веб-области в контексте Spring в моем методе @BeforeTest
. Но оказывается, что весенний контекст все еще null
в этой точке.
Тест проходит нормально, если я перейду на @BeforeMethod
. Интересно, как я могу получить доступ к контексту в @BeforeTest
, потому что я не хочу, чтобы код регистрации области действия повторялся для каждого метода тестирования.
Ниже приведены фрагменты моего кода.
public class MyTest extends MyBaseTest {
@Test public void someTest() { /*...*/ }
}
@ContextConfiguration(locations="/my-context.xml")
public class MyBaseTest extends AbstractTestNGSpringContextTests {
@BeforeTest public void registerWebScopes() {
ConfigurableBeanFactory factory = (ConfigurableBeanFactory)
this.applicationContext.getAutowireCapableBeanFactory();
factory.registerScope("session", new SessionScope());
factory.registerScope("request", new RequestScope());
}
/* some protected methods here */
}
Вот сообщение об ошибке при запуске теста:
FAILED CONFIGURATION: @BeforeTest registerWebScopes java.lang.NullPointerException at my.MyBaseTest.registerWebScopes(MyBaseTest.java:22)