当我想从ANT调用它时,JUnit RunListener不起作用

时间:2015-02-09 08:54:20

标签: java ant junit

我有一个带有侦听器RunListener的自定义JUnit运行器。在eclipse环境中,这个testRunFinished(Result result)监听器按预期工作,但是当我通过ANT运行它时,这个监听器没有被初始化。在build.xml特殊注释enableTestListenerEvents="true"中添加,但这确实有帮助。

这是我的跑步者的代码:

        @Override
        public void run(RunNotifier notifier) {
               notifier.addListener(new RunListener(){
                   @Override public void testRunFinished(Result result) throws Exception {
                     super.testRunFinished(result);
                   }
                 }
               );
        }

和build.xml:

<junit printsummary="yes" haltonfailure="no" fork="yes" enableTestListenerEvents="true">

非常感谢任何帮助。

编辑:顺便说一下,@Override public void testStarted(Description description) throws Exception {..}工作正常,似乎只有testRunFinished无法正常工作。 同样的错误,据我所知它还没有修复:https://issues.apache.org/bugzilla/show_bug.cgi?id=54970 我的ANT版本是1.9.4,也试过1.8.4。

1 个答案:

答案 0 :(得分:0)

是main.test.java目录中的测试吗? 如果是的话 它可能是build.xml配置的问题,请参阅 exemple

您可能需要指定测试类

 <batchtest fork="yes" todir="${reports.tests}">
    <fileset dir="${src.test}">
      <include name="**/*Test*.java"/>
    </fileset>
  </batchtest>