我有一个返回类型为 void
的方法。它还可以抛出许多异常,所以我想测试抛出的那些异常。由于相同的原因,所有尝试都失败了:
Stubber 类型中的 when(T) 方法不适用于参数 (void)
有什么想法可以让方法抛出指定的异常吗?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
原文由 edwardmlyte 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个返回类型为 void
的方法。它还可以抛出许多异常,所以我想测试抛出的那些异常。由于相同的原因,所有尝试都失败了:
Stubber 类型中的 when(T) 方法不适用于参数 (void)
有什么想法可以让方法抛出指定的异常吗?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
原文由 edwardmlyte 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想知道如何使用 Mockito 的新 BDD 风格来做到这一点:
willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
为了将来参考,可能需要抛出异常然后什么都不做:
willThrow(new Exception()).willDoNothing().given(mockedObject).methodReturningVoid(...));
原文由 Ondrej Burkert 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.5k 阅读
4 回答688 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答962 阅读✓ 已解决
括号放置不当。
您需要使用:
并且 不 使用:
这在 文档 中有解释