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