测试预期的异常。获取InvocationTargetException

时间:2014-09-10 09:08:05

标签: unit-testing reflection junit

我需要测试一些抛出异常的私有方法。由于它是私有方法,我使用反射来调用它。当我运行测试时,我得到InvocationTargetException(这可能是因为我的方法抛出异常)并且我的测试失败了。但是当我的方法异常被抛出时,我需要完成测试。我不确定它是否清楚,但这里是样本伪代码:

@Test(expected=myException.class)
{
    ArgType1 arg1 = new ArgType1();
    ArgType2 arg2 = new ArgType2();

    Class[] args = new Class[2];
    args[0] = ArgType1.class;
    args[1] = ArgType2.class;

    Method method = myClass.class.getDeclaredMethod("myMethod", args);
    method.invoke(new myClass(), arg1, arg2);
}

所以,当myMethod()抛出myException时,我希望我的测试填充完成。但结果我的测试失败了,我得到了InvocationTargetException。请帮我解决这个问题。我还在寻找,但找不到答案。

0 个答案:

没有答案