Я хотел бы зарегистрировать некоторые веб-области в контексте весны в моем методе @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 */
}
Here's the error message when running the test:
FAILED CONFIGURATION: @BeforeTest registerWebScopes java.lang.NullPointerException at my.MyBaseTest.registerWebScopes(MyBaseTest.java:22)