Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JUnitEclipse-成功时显示堆栈跟踪_Java_Eclipse_Junit4 - Fatal编程技术网

Java JUnitEclipse-成功时显示堆栈跟踪

Java JUnitEclipse-成功时显示堆栈跟踪,java,eclipse,junit4,Java,Eclipse,Junit4,我正在eclipse中编写一些单元测试,它们期望抛出异常 我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当您第一次编写测试时,检查异常是否真的由于您正在测试的情况而引发是很有用的 谢谢 为什么不将System.out.print()语句放在测试的catch块中?我不确定您还想如何显示测试的输出,因为它们通常被构建为在成功时保持沉默,因为它们太多了 您是否考虑过使用log4j和log.debug() 使用带有预期参数的@Test注释: @Test(expected=MyAppExceptio

我正在eclipse中编写一些单元测试,它们期望抛出异常

我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当您第一次编写测试时,检查异常是否真的由于您正在测试的情况而引发是很有用的


谢谢

为什么不将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文档。