问题描述:
安装程序正在使用TestNG目标执行Ant构建脚本,然后加载testng.xml文件。可以在Ant file和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和/或任何自定义监听器)。
答案 0 :(得分:1)
我相信所有的监听器都应该在你的构建文件和testng.xml中运行。 testng.xml监听器将被执行第二个。 如果构建文件和testng.xml中都列出了相同的侦听器,则会执行两次。
这是基于我对Maven的经验,但我想,与蚂蚁它应该是一样的。 此外,如果两者都实现了同一组接口,则无法保证testng.xml中指定的侦听器顺序。
希望它有所帮助。