gpt4 book ai didi

unit-testing - 最长的单元测试?

转载 作者:行者123 更新时间:2023-12-04 02:54:40 25 4
gpt4 key购买 nike

我们如何才能在套件中找到花费最长时间运行的junit测试? junitreport ant任务的默认输出是有用的,但是我们的套件将成千上万的测试组织到许多较小的套件中,因此它变得乏味,并且最坏的违者总是在变化。

我们使用luntbuild,但理想情况下,我们可以从ant运行它。

最佳答案

JUnitReport可处理由JUnit任务生成的xml文件。您可以编写一个任务,该任务将从相同的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
修改设置测试:2.05
NantBuilderTest:2.04
CruiseControlConfigTest:1.747
项目测试:1.743
BuildLoopMonitorTest:0.913

关于unit-testing - 最长的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/277923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com