我可以在自定义 Spring TestExecutionListener 中注入依赖项吗?
Can I inject dependencies inside a custom Spring TestExecutionListener?
我认为标题非常具体,但我会分享一些我正在做的事情的背景。
我正在构建 TestExecutionListener 接口的实现,以便为我的测试提取一些常见的数据库操作。
我遇到的问题是我需要向实际的单元测试人员公开在侦听器中配置的 object。
我可以通过从 TestExecutionListener 操作上下文并添加一个新的单例 bean(这不起作用)来做到这一点。
或者,我可以尝试将通用的 object 移动到其他地方,但是我需要将定位器 object 注入到单元测试和侦听器中。自动装配在那里似乎不起作用。
有什么想法或其他解决方案吗?
我最好在某些上下文配置中将此公共对象配置为 bean class,然后使用 @ContextConfiguration(classes = TestConfig.class)
使其可用于测试 classes
否则,如果您确实需要在您的 TestExecutionListener 中配置此对象,您可以在上下文配置中的任何位置注册此 bean,然后在您的 TestExecutionListener 中自动装配它并在此处更改其状态。但这似乎更像是一种破解而不是解决方案。
我认为标题非常具体,但我会分享一些我正在做的事情的背景。
我正在构建 TestExecutionListener 接口的实现,以便为我的测试提取一些常见的数据库操作。
我遇到的问题是我需要向实际的单元测试人员公开在侦听器中配置的 object。
我可以通过从 TestExecutionListener 操作上下文并添加一个新的单例 bean(这不起作用)来做到这一点。
或者,我可以尝试将通用的 object 移动到其他地方,但是我需要将定位器 object 注入到单元测试和侦听器中。自动装配在那里似乎不起作用。
有什么想法或其他解决方案吗?
我最好在某些上下文配置中将此公共对象配置为 bean class,然后使用 @ContextConfiguration(classes = TestConfig.class)
否则,如果您确实需要在您的 TestExecutionListener 中配置此对象,您可以在上下文配置中的任何位置注册此 bean,然后在您的 TestExecutionListener 中自动装配它并在此处更改其状态。但这似乎更像是一种破解而不是解决方案。