Java 在testng.xml外部使用IAnnotationTransformer

Java 在testng.xml外部使用IAnnotationTransformer,java,eclipse,testng,Java,Eclipse,Testng,我的理解是,IAnnotationTransformer类在套件启动之前运行,因此不能在类级别上以与ITestListener相同的方式声明它。因此,我经常看到的用法是将其添加到testng.xml文件中: (...) 但是,有时我需要从IDE运行测试:右键单击->运行方式->TestNG Test,因此在执行此操作时,将运行TestNG customsuite.xml文件,该文件不包含声明的侦听器。 我知道我可以通过Eclipse为TestNG设置一个模板xml文件,但是由于团队中有

我的理解是,IAnnotationTransformer类在套件启动之前运行,因此不能在类级别上以与ITestListener相同的方式声明它。因此,我经常看到的用法是将其添加到testng.xml文件中:


(...)

但是,有时我需要从IDE运行测试:
右键单击->运行方式->TestNG Test
,因此在执行此操作时,将运行
TestNG customsuite.xml
文件,该文件不包含声明的侦听器。

我知道我可以通过Eclipse为TestNG设置一个模板xml文件,但是由于团队中有一些人使用IntelliJ,我希望避免这样做。

我的问题是:如何确保始终执行IAnnotationTransformer,无论我如何执行测试或使用哪个IDE?

TestNg的更改说明表明,如果您使用的是6.9.10或更高版本,则IAnnotationTransformer支持@Listeners

<suite name = "testSuite" >

    <listeners>
        <listener class-name="TestAnnotationTransformer" />
    </listeners>

(...)