【问题标题】:Make IntelliJ Show Full Stack Trace During Failed JUnit Test使 IntelliJ 在 JUnit 测试失败期间显示完整的堆栈跟踪
【发布时间】:2013-06-20 14:31:58
【问题描述】:

当我运行 Junit 测试但它失败时,如果堆栈超长,Intellij 总是用“... x More”将其切断。如何让 IntelliJ 显示整个堆栈跟踪?

Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
    at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:38)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:526)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:257)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
    ... 54 more


Process finished with exit code 255

【问题讨论】:

  • 我认为这不是 IntelliJ 的问题,而是 JVM 的“特性”。更多信息请咨询this answer
  • 也许你可以用一种特殊的方式处理异常——JUnit 是否提供了一种方法来做到这一点?
  • 在 Exception 上下断点并在 Debug 模式下运行测试?

标签: intellij-idea


【解决方案1】:

我认为,“... x more”消息仅在您有被前一个异常包装的异常时才会出现。这意味着初始异常的最后 x 行与由异常引起的缺失 x 行相同。它与 IntelliJ 无关。 jvm 避免重复跟踪信息,因为它不提供新信息。

see also this answer

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 2016-10-05
    • 2013-09-20
    • 2015-07-30
    • 2021-03-15
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多