Ant 在TestNG配置的不同部分指定不同的侦听器会产生什么后果?

Ant 在TestNG配置的不同部分指定不同的侦听器会产生什么后果?,ant,testng,Ant,Testng,问题描述: 安装程序正在使用TestNG目标执行Ant构建脚本,然后加载TestNG.xml文件。可以在和中指定侦听器 出现的问题如下所示: 这两种设置方式都会得到支持吗?在测试执行期间是否会使用两个配置位置中指定的所有侦听器 会不会有听众被优先考虑?如果是,如何进行 样本设置: Ant文件: <project> <property name="classes.dir" path="<my_classes_dir>" /> <property name=

问题描述:

安装程序正在使用TestNG目标执行Ant构建脚本,然后加载TestNG.xml文件。可以在和中指定侦听器

出现的问题如下所示:

  • 这两种设置方式都会得到支持吗?在测试执行期间是否会使用两个配置位置中指定的所有侦听器
  • 会不会有听众被优先考虑?如果是,如何进行
  • 样本设置:

    Ant文件:

    <project>
    <property name="classes.dir" path="<my_classes_dir>" />
    <property name="test.dir" path="<my_test_dir>" />
    <target name="run-test">
        <testng useDefaultListeners="false"
              listeners="org.testng.reporters.EmailableReporter, org.testng.reporters.XMLReporter, com.example.MyCustomReporter">
            <classpath>
              <path path="${classes.dir}" />
            </classpath>
          <xmlfileset dir="${test.dir}" includes="testng.xml" />
        </testng>
    </target>
    </project>
    
    
    
    TestNG.xml:

    <suite name="MyTestSuite">
        <listeners>
            <listener class-name="com.example.MyListener" />
            <listener class-name="org.testng.reporters.FailedReporter" />
        </listeners>
        <test name="MyTest1">
            <classes>
                <class name="com.example.MyTest1" />
            </classes>
        </test>
    </suite>
    
    
    
    背景:


    我必须支持现有的项目,它使用类似于上面描述的设置。Ant构建文件禁用默认报告器。在不涉及Ant构建文件的情况下,我希望为testng.xml中的测试指定其他报告侦听器(FailedReporter和/或任何自定义的报告侦听器)。

    我认为所有侦听器都应该在构建文件和testng.xml中运行。 然后执行testng.xml侦听器。 如果构建文件和testng.xml中都列出了相同的侦听器,那么它将执行两次

    这是基于我与Maven的经验,但我想,与ant应该是一样的。 此外,如果testng.xml中指定的侦听器都实现了同一组接口,则无法保证它们的顺序

    希望能有帮助