это должно быть просто для программистов, использующих testNG. У меня есть этот сценарий
@ContextConfiguration(locations={"customer-form-portlet.xml", "classpath:META-INF2/base-spring.xml" })
public class BaseTestCase extends AbstractTestNGSpringContextTests {
...
@BeforeClass
public void setUpClass() throws Exception {
Но мне нужно, чтобы весенний контекст загружался после @BeforeClass. Я придумал переопределение методов AbstractTestNGSpringContextTests:
@BeforeClass(alwaysRun = true)
protected void springTestContextBeforeTestClass() throws Exception {
this.testContextManager.beforeTestClass();
}
@BeforeClass(alwaysRun = true, dependsOnMethods = "springTestContextBeforeTestClass")
protected void springTestContextPrepareTestInstance() throws Exception {
this.testContextManager.prepareTestInstance(this);
}
и сделай мой метод
@BeforeClass(alwaysRun = true, dependsOnMethods = "setUpClass")
protected void springTestContextPrepareTestClass() throws Exception {
}
Но тогда я получаю:
Вызывается: org.testng.TestNGException:
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.springTestContextPrepareTestInstance ()
не может зависеть от защищенных
недействительным
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.springTestContextBeforeTestClass ()
бросает java.lang.Exception
Публикация также не помогает. Не могли бы кто-нибудь упомянуть здесь, если это можно сделать в рабочем порядке :-) Я знаю, что я мог бы загрузить testContext вручную, но это не было бы так интересно.
Это работает так, но TestContextManager не виден, поэтому я не могу вызвать метод prepareTestInstance () для него:
@Override
@BeforeClass(alwaysRun = true, dependsOnMethods = "setUpClass")
public void springTestContextPrepareTestInstance() throws Exception {
}