如何避免冗余捕获可以根据接口抛出异常的模拟方法的异常

时间:2015-03-04 14:18:36

标签: java unit-testing exception exception-handling mocking

我的单元测试中有以下代码:

 when(workspaceMock.getNamespaceRegistry()).thenReturn(namespaceRegistryMock);

方法getNamespaceRegistry可以抛出IOException

就java而言,row是方法调用,我应该抓住它。

但另一方面我明白这个方法不能抛出异常因为我在那里设置了这个方法行为。在这里捕捉异常似乎是多余的。

您能否澄清这种情况并提出最佳做法建议?

1 个答案:

答案 0 :(得分:1)

您只需要让您的测试方法声明为throws Exception。通常,您不希望在生产代码上执行此操作,当然,这是 test 代码中的标准做法。