我想在ANT测试目标中禁用HTMLReporter,因为它需要1分钟,我从不看它。这个头文件将运行所有默认的测试ng监听器&记者:
<testng outputdir="${test.output.dir}" verbose="2" haltonfailure="true">
通过查看文档,我可以通过简单地列出我想要的侦听器和记录器来替换默认的侦听器和记录器:
<testng outputdir="${test.output.dir}" useDefaultListeners="false"
listeners="org.testng.reporters.ExitCodeListener,
org.testng.reporters.XMLReporter,
org.testng.reporters.JUnitReportReporter,
org.testng.reporters.EmailableReporter,
org.testng.reporters.jq.Main,
org.testng.reporters.VerboseReporter,
***org.testng.reporters.TextReporter***"
verbose="2" haltonfailure="true">
问题是TextReporter找不到!我已经检查了jar,它在那里,它确实有IResultListener作为父:
TextReporter extends (TestListenerAdapter implements (IResultListener2 extends IResultListener))
我需要TextReporter工作,因为它只是打印每个简单的测试方法,以及它是否通过或失败(我真的很喜欢)。
我使用TestNG-6.8(6.9.4也不起作用)。下面是错误:
unit-tests:
[testng] Exception in thread "main" org.testng.TestNGException:
[testng] Cannot instantiate class org.testng.reporters.TextReporter
[testng] at org.testng.internal.ClassHelper.newInstance(ClassHelper.java:58)
[testng] at org.testng.TestNG.setListenerClasses(TestNG.java:686)
[testng] at org.testng.TestNG.configure(TestNG.java:1429)
[testng] at org.testng.TestNG.privateMain(TestNG.java:1328)
[testng] at org.testng.TestNG.main(TestNG.java:1307)
[testng] Caused by: java.lang.InstantiationException: org.testng.reporters.TextReporter
[testng] at java.lang.Class.newInstance(Class.java:359)
[testng] at org.testng.internal.ClassHelper.newInstance(ClassHelper.java:49)
[testng] ... 4
我有同样的问题,看起来它无法实例化TextReporter
。我选择了VerboseReporter,它打印方法名、测试结果和持续时间。