Java 在mvn测试期间显示错误的完整跟踪
当我运行Junit testsJava 在mvn测试期间显示错误的完整跟踪,java,maven,junit,Java,Maven,Junit,当我运行Junit testsmvn test时,它会为给定错误提供以下跟踪: InvalidEmailTest.setUp:45->BasicTest.getAssertedSubElement:461 » StaleElementReference 它向我展示了入口点方法和异常发生的方法。在这两个函数之间调用的每个函数都可能看到相同的东西吗?这将使调试更加容易 它使我的呼叫跟踪看起来像什么: * InvalidEmailTest.setUp * BasicTest.getAsse
mvn test
时,它会为给定错误提供以下跟踪:
InvalidEmailTest.setUp:45->BasicTest.getAssertedSubElement:461 » StaleElementReference
它向我展示了入口点方法和异常发生的方法。在这两个函数之间调用的每个函数都可能看到相同的东西吗?这将使调试更加容易
它使我的呼叫跟踪看起来像什么:
* InvalidEmailTest.setUp
* BasicTest.getAssertSubElement
<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>
它实际上是什么:
* InvalidEmailTest.setUp
* cHelper.accessSpecificGestion
* mHelper.goTab
* mHelper.accessOffice
* BasicTest.getFirstChildByText
* BasicTest.getAssertSubElement
是否有一种方法可以查看每个异常发生在哪一行,这样我就可以准确地指出
mvn测试结果中错误发生的位置?正如@khmarbaise提到的,您可以在中将属性配置为false
。您的build
部分如下所示:
* InvalidEmailTest.setUp
* BasicTest.getAssertSubElement
<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>
org.apache.maven.plugins
maven surefire插件
假的
如果愿意,还可以通过命令行控制行为:
您可以声明一个属性:
<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>
org.apache.maven.plugins
maven surefire插件
${trimStackTrace}
然后,如果您运行mvn测试
,您将获得默认的修剪输出,或者如果您运行mvn测试-DtrimStackTrace=false
,您将获得包含详细信息的输出。尝试mvn测试--info
您应该配置属性false
…请参阅不要尝试从surefire中排除一种集成测试,因为这不是maven surefire插件的默认设置。它永远不会执行名为*IntegrationTest.java
…的测试,所以上面的配置是无用的。@khmarbaise我删除了那个条目,我错误地添加了它。在这种情况下,只需要按照您的建议使用trimStackTrace
。