Java 如何显示使用JUnit运行的Spring测试MVC测试的完整堆栈跟踪

Java 如何显示使用JUnit运行的Spring测试MVC测试的完整堆栈跟踪,java,maven,junit,intellij-idea,Java,Maven,Junit,Intellij Idea,当运行JUnit测试时发生异常(测试范围之外的意外异常)时,不会打印stacktrace。只显示异常消息。例如,我正在将使用JUnit的单元测试添加到现有的SpringMVC项目中。我有一个这样的空测试: @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration("file:src/main/webapp/WEB-INF/my-servlet.xml") public class User

当运行JUnit测试时发生异常(测试范围之外的意外异常)时,不会打印stacktrace。只显示异常消息。例如,我正在将使用JUnit的单元测试添加到现有的SpringMVC项目中。我有一个这样的空测试:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("file:src/main/webapp/WEB-INF/my-servlet.xml")
public class UserAccessTest {

    @Autowired
    private WebApplicationContext webApplicationContext;

    @Test
    public void test01() {}
}
但它失败了,因为它传递了这样一个信息:

Tests in error: 
  test01(com.myproject.UserAccessTest): Failed to load ApplicationContext
但是,它不会打印整个堆栈跟踪,包括根本原因等。这种情况的另一个例子是,当我在使用Mockito时忘记模拟某些对象时,会发生NullPointerException。在这种情况下,它甚至不会给出消息,直到我在测试中添加一个try-catch块之后,我才发现它是一个NullPointerException,直到我添加代码手动打印catch中的所有StackTraceElement,我才发现它在哪里

测试期间出现异常时,是否可以打印整个stacktrace

我用的是Maven和IntelliJ的创意。我不确定这是否是我必须在其中任何一个配置的东西。我发现1)这涉及到构建服务器上的Ant,2)我不知道如果该配置适用于我,我必须将其放在哪里,因为答案中没有提到


请注意:我不是在请求帮助解决示例中的问题。我只想知道如何让JUnit提供有关此类问题的更多信息,以便我可以自己进一步调试。

有一些surefile插件设置(例如maven surefire plugin
useFile
参数设置为
false
)可以控制这一点,请参阅

I将
useFile
trimStackTrace
设置为false。非常感谢你!在过去的10分钟里,我取得了比之前几个小时更多的进步。