Java 如何避免重复捕获模拟方法的异常,这些方法可以根据接口抛出异常

Java 如何避免重复捕获模拟方法的异常,这些方法可以根据接口抛出异常,java,unit-testing,exception,exception-handling,mocking,Java,Unit Testing,Exception,Exception Handling,Mocking,我的单元测试中有以下代码: when(workspaceMock.getNamespaceRegistry()).thenReturn(namespaceRegistryMock); 方法getNamespaceRegistry可以抛出IOException 就java而言,前面提到的行是方法调用,我应该抓住它 但另一方面,我知道这个方法不能抛出异常,因为我在那个里设置了这个方法的行为。在这里捕捉异常看起来是多余的 你能澄清这种情况并建议最佳实践吗?你只需要让你的测试方法声明抛出异常。当然,

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

 when(workspaceMock.getNamespaceRegistry()).thenReturn(namespaceRegistryMock);
方法
getNamespaceRegistry
可以抛出
IOException

就java而言,前面提到的行是方法调用,我应该抓住它

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


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

你只需要让你的测试方法声明
抛出异常。当然,通常情况下,您不希望在生产代码上执行此操作,但这是测试代码中的标准实践