如何解决无法在testNG自定义侦听器中使用自动装配注释,需要多继承的解决方法
在我的Spring-boot应用程序中需要一个用于testNG的自定义侦听器,因此我创建了一个CustomListener
类,该类继承自org.testng.TestListenerAdapter
。因此,目前我的课程定义如下:
public class CustomListener extends TestListenerAdapter {
}
但是问题是,我不能在此类中使用Autowired
注释,所有自动装配的对象都变成null
。我进行了查找,发现需要扩展AbstractTransactionalTestNGSpringContextTests
(在spring-test
中提供),以便我的类可以在运行时获取应用程序上下文。问题在于Java不支持多重继承,因此我不能同时从这两个类扩展。
我尝试过的事情:
当前,我唯一可以看到的出路是自己实现由TestListenerAdapter
(即org.testng.internal.IResultListener2
)实现的接口。在这种情况下,我的班级定义就会变成
public class CustomListener extends AbstractTransactionalTestNGSpringContextTests implements IResultListener2 {
}
但是,如果我使用它,我将丢失TestListenerAdapter
类中的所有实现细节,并且我将不得不重写(复制)已经用TestListenerAdapter.java
编写的代码,这就是为什么我不这样做不喜欢这种解决方案。对此应该有什么出路?我需要在我的CustomListener类中使用自动装配。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。