如何让 JUnit 测试(从 Ant 脚本驱动)转储导致失败的异常堆栈?
Posted
技术标签:
【中文标题】如何让 JUnit 测试(从 Ant 脚本驱动)转储导致失败的异常堆栈?【英文标题】:How can I get JUnit test (driven from Ant script) to dump the stack of exception that causes failure? 【发布时间】:2011-01-29 14:59:38 【问题描述】:我们从 Ant 脚本运行 JUnit 测试,如下所示。当测试失败时,我希望它输出导致失败的异常的堆栈转储,但事实并非如此。有没有什么技巧可以甩掉它?
<target description="Run JUnit tests" name="run-junit" depends="build-junit">
<copy file="./AegisLicense.txt" tofile="test/junit/classes/AegisLicense.txt" overwrite="true"/>
<junit printsummary="yes" haltonfailure="no" fork="yes" forkmode="once" failureproperty="run-aegis-junit-failed" showoutput="yes" filtertrace="off">
<classpath refid="Aegisoft.testsupport.classpath"/>
<classpath>
<pathelement location="test/junit/classes"/>
</classpath>
<batchtest>
<fileset dir="test/junit/src">
<include name="**"/>
</fileset>
</batchtest>
</junit>
<fail
【问题讨论】:
重复? ***.com/questions/2479877/… 【参考方案1】:在我看到this question 之前,我已经在这里发布了这个。我认为这个问题是重复的。
这是我的 junit 标记,它确实产生了异常跟踪
<!-- #Formatters for capture and display -->
<formatter
type="brief"
usefile="false"
/>
<formatter type="brief" />
<formatter
type="xml"
if="test.generate.xml.output"
/>
<!-- #Test case isolation technique -->
<test
name="$testcase"
if="testcase"
/>
<batchtest
todir="$test.data.dir"
unless="testcase"
>
<fileset dir="$classes.dir">
<include name="**/Test*.class" />
<exclude name="**/Test*$*.class" />
</fileset>
</batchtest>
</junit>
我认为可以为你做这件事的一个嵌套元素是
<formatter
type="brief"
usefile="false"
/>
【讨论】:
以上是关于如何让 JUnit 测试(从 Ant 脚本驱动)转储导致失败的异常堆栈?的主要内容,如果未能解决你的问题,请参考以下文章
Junit_Ant使用Eclipse自带的Junit和Ant,生成测试报告