Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant jUnit任务如何获取其信息_Ant_Junit - Fatal编程技术网

Ant jUnit任务如何获取其信息

Ant jUnit任务如何获取其信息,ant,junit,Ant,Junit,我知道如果我想从jUnit测试中得到xml输出,我可以使用Ant任务“jUnit”来生成这样的输出。 我想扩展这个生成的xml文件中显示的信息量。 我的类文件中有其他信息,我希望这些信息也可以在XML文件中使用 我的问题是: xml文件中的信息来自哪里 信息是否来自特定的jUnit runner类 是否用于运行测试 jUnit任务是只格式化接收到的信息,还是 生成信息本身 jUnit Ant任务是否更改接收到的信息?(情况也会如此 只显示特定信息,过滤掉我想要的一切 添加) JUnit任务的X

我知道如果我想从jUnit测试中得到xml输出,我可以使用Ant任务“jUnit”来生成这样的输出。 我想扩展这个生成的xml文件中显示的信息量。 我的类文件中有其他信息,我希望这些信息也可以在XML文件中使用

我的问题是:

  • xml文件中的信息来自哪里
  • 信息是否来自特定的jUnit runner类 是否用于运行测试
  • jUnit任务是只格式化接收到的信息,还是 生成信息本身
  • jUnit Ant任务是否更改接收到的信息?(情况也会如此 只显示特定信息,过滤掉我想要的一切 添加)

JUnit任务的XML格式化程序在类
org.apache.tools.ant.taskdefs.optional.JUnit.XMLJUnitResultFormatter中实现,该类侦听器在JUnit测试执行期间接收事件。例如,当接收到“测试结束”事件时,格式化程序会在内存中为测试附加一个XML元素这是到源代码的链接

根据我从代码中读到的内容:

  • XML的模式在Ant任务的代码中定义。特别是上面提到的类。该模式将在中讨论。报告的内容(例如测试名和类名)是从JUnit测试类本身获取的。以下是用于检索测试名称的方法的Javadoc:

    JUnit3.7引入了TestCase.getName()和JUnit的后续版本,删除了旧的name()方法。此方法通过反射提供对TestCase名称的访问,反射应该在JUnit3.7之前和之后的版本中使用

    由于Ant 1.5.1,此方法将在任何测试实现上调用
    “public String getName()”
    ,如果它存在的话

    因为Ant1.7还显式地检查JUnit4TestCaseFacade。junit.framework.JUnit4TestAdapter使用此选项

  • 该任务不仅格式化输出。它使用前面提到的格式化程序生成所有报告本身。以下几篇文章可能有助于扩展格式化程序:

    建议的解决方案是编写一个自定义格式化程序类,扩展
    org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter
    ,并在
    formatter
    元素的
    classname
    属性中提供它