通过创建一个未抛出的“新异常()”来测试时隐藏JUnit的堆栈跟踪?

时间:2013-07-09 21:50:18

标签: java junit

我正在使用JUnit测试我的一个方法,该方法将Exception作为参数。测试看起来大致如下:

public void testSomething() {
...
  callMethod(param1, new Exception("ignore exception"));
}

当我这样做时,创建异常(不抛出它)的行为会将此转储到System.err

  

java.lang.Exception:忽略异常       在... testSomething       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)       at java.lang.reflect.Method.invoke(Unknown Source)       在junit.framework.TestCase.runTest(TestCase.java:176)       在junit.framework.TestCase.runBare(TestCase.java:141

有没有办法抑制此输出? 我想到了我能想到的一切,但它拾取了各种不相关的东西。

2 个答案:

答案 0 :(得分:0)

仅供参考,函数调用在其中执行了ex.printStackTrace()调试语句,我忘记取出,所以Adam是正确的。

答案 1 :(得分:-1)

你可以在不调用父构造函数的情况下从Exception派生一个类吗?