在junit中工作的Spring启动监听器
Posted
技术标签:
【中文标题】在junit中工作的Spring启动监听器【英文标题】:Spring startup listener which works in junit 【发布时间】:2012-08-07 07:41:06 【问题描述】:您好,我有一个不支持 spring 和 hibernate 的 Web 应用程序。 我正在寻找一种可能性来调用一些在运行测试时执行的启动函数。
我使用了 AbstractTransactionalJUnit4SpringContextTests 类并尝试了以下接口
应用监听器 生命周期 ServletContextListener但是没有一个在junit下被调用。
任何提示(hibernate-database-acces 此时应该可用)?
【问题讨论】:
【参考方案1】:您可以使用 Annotation ContextConfiguration 为您的测试加载应用程序上下文。
@ContextConfiguration(locations="test/test-context.xml")
public class MyTestsClass
// class body...
问候 迈克尔
【讨论】:
我已经有了这个,但是上面的触发器都没有被调用【参考方案2】:我的解决方案:ApplicationContextAware,只需在你的类路径中添加一个类:
public class SpringApplicationContext implements ApplicationContextAware
private static ApplicationContext CONTEXT;
public void setApplicationContext(ApplicationContext context) throws BeansException
CONTEXT = context;
// DO DB INIT STUFF
【讨论】:
以上是关于在junit中工作的Spring启动监听器的主要内容,如果未能解决你的问题,请参考以下文章
spring项目中监听器作用-ContextLoaderListener(转)
spring项目中监听器作用-ContextLoaderListener(项目启动时,加载一些东西到缓存中)
从 Java 启动 OpenOffice 服务 (soffice) 的问题(在命令行中工作的命令,但不是从 Java 中)