Java JUnitEclipse-成功时显示堆栈跟踪
我正在eclipse中编写一些单元测试,它们期望抛出异常 我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当您第一次编写测试时,检查异常是否真的由于您正在测试的情况而引发是很有用的Java JUnitEclipse-成功时显示堆栈跟踪,java,eclipse,junit4,Java,Eclipse,Junit4,我正在eclipse中编写一些单元测试,它们期望抛出异常 我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当您第一次编写测试时,检查异常是否真的由于您正在测试的情况而引发是很有用的 谢谢 为什么不将System.out.print()语句放在测试的catch块中?我不确定您还想如何显示测试的输出,因为它们通常被构建为在成功时保持沉默,因为它们太多了 您是否考虑过使用log4j和log.debug() 使用带有预期参数的@Test注释: @Test(expected=MyAppExceptio
谢谢 为什么不将System.out.print()语句放在测试的catch块中?我不确定您还想如何显示测试的输出,因为它们通常被构建为在成功时保持沉默,因为它们太多了
您是否考虑过使用log4j和log.debug() 使用带有
预期参数的@Test
注释:
@Test(expected=MyAppException.class)
如果测试没有抛出异常,则表明测试失败
应该有一个Eclipse视图选项来显示测试日志输出,但一般来说,从测试显式记录是没有价值的。如果您不信任JUnit注释,您也可以调试测试。@carrizo如果您还想在控制台输出上看到stacktrace,您可以在该测试的代码周围使用try-catch并从那里打印堆栈跟踪,但是别忘了传播异常upYep这就是我正在做的,但是我正在寻找一个选项来完成它,而不必为每个测试编写一个try-catch。无论如何,谢谢!:)@卡里佐,但目标是什么?你不相信JUnit能工作吗?情况是这样的,你有一个XSD,不管xml有什么问题,你都要验证它,它总是抛出相同的异常,真正告诉你问题的是异常消息,所以如果你用@test(expected=TheException.class)编写测试,它总是会通过。这就是为什么我使用org.junit.rules.ExpectedException和匹配器来告诉您我所期望的消息,但是由于junit没有给您堆栈跟踪,所以在您第一次编写测试时很麻烦。实际上,我稍后会尝试扩展junit注释或其他东西来启用它,捕获异常是一件很麻烦的事情,记录并再次抛出您编写的每个测试:/多年前,我们在系统中测试异常处理时遇到了相同的问题。我们从未找到一个好的解决方案,但我记得听到JUnit的更高版本为此提供了支持。我得看一下JUnit文档。