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



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

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

方法getNamespaceRegistry可以抛出IOException

在java中提到的行是方法调用,我应该抓住它

但另一方面,我理解这个方法不能抛出异常,因为我在那里设置了这个方法的行为。在这里捕获异常看起来是多余的。

你能澄清这种情况并提出最佳实践建议吗?

您只需要让您的测试方法声明throws Exception。当然,通常情况下,您不想在生产代码上执行此操作,但这是测试的标准做法。

最新更新