显示mvn测试期间错误的完整跟踪



当我运行Junit测试mvn test时,它会为我提供以下给定错误的跟踪:

InvalidEmailTest.setUp:45->BasicTest.getAssertedSubElement:461 » StaleElementReference

因此,它向我展示了入口点方法和发生异常的方法。有可能在两者之间调用的每个函数都看到相同的东西吗?这将使的调试更加容易

它使我的呼叫跟踪看起来像什么:

* InvalidEmailTest.setUp
* BasicTest.getAssertSubElement

它实际上是什么:

* InvalidEmailTest.setUp
* cHelper.accessSpecificGestion
* mHelper.goTab
* mHelper.accessOffice
* BasicTest.getFirstChildByText
* BasicTest.getAssertSubElement

有没有办法查看每个异常发生在哪一行,这样我就可以准确地确定mvn test结果中错误发生的位置?

如@khmarbaise所述,您可以在maven surefire插件中将trimStackTrace属性配置为false。您的build部分将看起来像:

<build>
<plugins>
<!-- Others plugins declaration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
</plugins>
</build>

如果你愿意,也可以通过命令行控制行为:

你可以申报一个财产:

<properties>
<!-- Others properties declaration -->
<trimStackTrace>true</trimStackTrace>
</properties>

并用它控制插件:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<trimStackTrace>${trimStackTrace}</trimStackTrace>
</configuration>
</plugin>
</plugins>
</build>

然后,如果您运行mvn test,您将获得默认的修剪输出,或者如果运行mvn test -DtrimStackTrace=false,您将得到带有详细信息的输出。

最新更新