如何模拟一个有一些调用的异常

时间:2013-12-13 09:02:22

标签: java unit-testing junit powermock

我必须测试一个抛出异常的func()。

Exception的构造函数是这样的:

Exception(){
var a = ContextHolder.get("Domain");
setDomain(a);
}

现在当函数抛出异常时我正在做什么:

try{
fun();
}
catch(Exception e){

}

但它显示了一个AssertionError意外调用get(“Domain”),它位于Exception构造函数中。

有没有办法验证该异常。

2 个答案:

答案 0 :(得分:0)

您必须模拟contextHolder并期望get("Domain")上的contextHolder调用。在this link我回答了一个类似的问题,你可以使用它。

答案 1 :(得分:-1)

看起来像C#代码,但它用Java标记。请确认。 如果它的C#你可以使用像Moq这样的Mocking框架。此外,您将不得不重新考虑代码以删除静态函数调用 - 它们是不可测试的!