Я использую SpringJUnit4ClassRunner в своих тестах JUnit 4 следующим образом:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/test-context.xml"})
public class MyTest {
@Autowired
private ConfigurableApplicationContext context;
@Test
public void test1() {
. . .
}
@Test
public void test2() {
. . .
}
. . .
}
Однако в конце этого тестового примера контекст приложения не закрыт. Я хотел бы, чтобы контекст приложения был закрыт в конце тестового примера (НЕ в конце каждого отдельного модульного теста в тестовом примере).
До сих пор я мог придумать эту работу:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/test-context.xml"})
public class MyTest {
@Autowired
private ConfigurableApplicationContext context;
private static ConfigurableApplicationContext lastContext;
@After
public void onTearDown() {
lastContext = context;
}
@AfterClass
public static void onClassTearDown() {
lastContext.close();
}
@Test
public void test1() {
. . .
}
@Test
public void test2() {
. . .
}
. . .
}
Есть ли лучшее решение?