【发布时间】:2015-07-18 21:46:10
【问题描述】:
我有一个 Test NG 监听器类,每次测试失败时都会调用它:
public class MyListener implements ITestListener {
@Inject
private MyBean myBean;
@Override
public void onTestFailure(ITestResult result) {
myBean.logDetails();
// log certain information about the failure,
// using the injected object.
}
}
当测试失败时,方法被调用,这部分工作正常。
问题是对象没有被注入——它只是空的。我已经检查了一切,CDI工作的通常条件都可以。 该类有一个空的构造函数,我不会在任何地方调用 new()。
有没有办法让对象注入?
我看过这个question,但我看不到如何在测试监听器中执行 CDI。 我还尝试将侦听器类注释为 TestNG 测试,并使侦听器成为 guice 工厂类的子类,但没有运气,我对如何做到这一点有点迷茫。 谢谢!
【问题讨论】:
标签: java dependency-injection testng cdi