我有一个junit测试用例,用于实例化和配置spring上下文 @RunWith(SpringJUnit4ClassRunner.class)来
在这个春天的上下文中,我有bean实现了Lifecycle接口。
如何在调用测试之前“启动”spring上下文并在之后再次停止它?
答案 0 :(得分:3)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "/applicationContext-TEST.xml")
public class MyIntegrationTest {}
然后像往常一样引用bean
答案 1 :(得分:0)
@RunWith(SpringJUnit4ClassRunner.class)
的类 MyTestCase
就足够了。 Spring test framework将在CLASSPATH上查找MyTestCase-test.xml
文件。如果您不喜欢这种命名约定,可以指定自己的命名约定:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "/applicationContext.xml")
public class MyTestCase {
@Autowired
private Dependency dep;
}
如何在调用测试之前“启动”spring上下文并在之后再次停止它?
通常您不必做任何事情。 Spring将在第一次测试之前启动应用程序上下文,并在运行测试的JVM关闭时自动关闭它。您还可以在每次测试后重新启动上下文(请参阅@DirtiesContext
注释)。