当测试抛出异常消息的值时,可以像这样:
public void mustFailIfTheActionDoesNotExist() {
try {
getAction(UUID.randomUUID().toString());
fail("Must fail if the action does not exists");
} catch (MyException ex) {
Assert.assertEquals("Exception generated on action", ex.getMessage());
}
异常和它们的堆栈跟踪可以在终端上看到。由于我的项目中有数百个类,终端只是一长串异常消息的堆栈跟踪列表。
当运行Junit测试时,有没有办法抑制异常输出的堆栈跟踪到屏幕/终端上?
附注:我不想为所有单元测试抑制日志记录,只想在特定情况下这样做。
System.setOut(PrintStream)
和System.setErr(PrintStream)
重定向流。将它们保存在某个地方,然后覆盖到一个文件中(以便跟踪)或关闭它们以隐藏所有内容。最后,在结束时将保存的实例重置为系统实例。 - AxelH