JUnitReport работает с файлами xml, создаваемыми задачей JUnit. Вы можете написать задачу, которая будет считывать длительность теста из тех же XML-файлов (TEST - *. Xml). Но вы также можете воспользоваться ярлыком и просто прочитать файл сводок, созданный JUnitReport (TESTS-TestSuites.xml), который имеет всю информацию в одном файле.
Быстрый способ сделать это, чтобы использовать немного XSL, чтобы просто показать самые медленные тесты:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:text> </xsl:text>
<xsl:for-each select="testsuites/testsuite">
<xsl:sort select="@time" data-type="number" order="descending" />
<xsl:value-of select="@name"/> : <xsl:value-of select="@time"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Для запуска от Ant вы это делаете:
<target name="show.slow.tests">
<xslt in="target/tests-results/TESTS-TestSuites.xml" out="target/slow.txt" style="slow.xsl"/>
</target>
Тогда вы можете просто посмотреть на первых X строк, чтобы найти X медленные тесты:
jfredrick цель $ голова/slow.txt
ForcingBuildShouldNotLockProjectInQueuedStateTest: 11,581
CruiseControlControllerTest: 7,335
AntBuilderTest: 6,512
Maven2BuilderTest: 4,412
CompositeBuilderTest: 2,222
ModificationSetTest: 2,05
NantBuilderTest: 2,04
CruiseControlConfigTest: 1,747
ProjectTest: 1,743
BuildLoopMonitorTest: 0.913
Просто из интереса, почему вы хотите знать? Один из самых полезных тестов jUnit занимает много времени - не потому, что код неэффективен, а потому, что он проверяет очень исчерпывающий набор условий (три для глубоких петель) – slim 2008-11-10 14:54:26