我可以在自定义Spring TestExecutionListener中注入依赖项吗?

时间:2017-06-08 11:41:58

标签: java spring unit-testing dependency-injection spring-test

我认为标题非常具体,但我会分享一些我正在做的事情。

我正在构建TestExecutionListener接口的实现,以为我的测试抽象一些常见的数据库操作。

我遇到的问题是我需要将在侦听器内配置的对象暴露给实际的单元测试器。

我可以通过操纵TestExecutionListener中的上下文并添加一个新的单例bean(它不起作用)来做到这一点。

或者,我可以尝试将公共对象移动到其他位置,但是我需要将定位器对象注入单元测试和侦听器。自动装配似乎不适用于那里。

有任何想法或其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

我最好在某个上下文配置类中将此公共对象配置为bean,然后使用@ContextConfiguration(classes = TestConfig.class)

使其可用于测试类

否则,如果您确实需要在TestExecutionListener中配置此对象,则可以在上下文配置中的任何位置注册此bean,然后在TestExecutionListener中自动装配它并在此处更改其状态。但它似乎更像是一种破解而非解决方案。