java - 如何为返回 IOException 的 ObjectMapper.writeValueAsString(object) 编写单元测试
问题描述
我正在为ObjectMapper().writeValueAsString(object)
. 我有一个捕获 IOException 的 catch 块。我需要对这个 catch 块进行单元测试。
我需要知道在哪种情况下,IOException
由ObjectMapper
.
要抛出 JsonProcessingException,我已经找到了答案
但是我没有发现任何抛出 IOException 的场景。
protected void logJsonForMetrics(final Logger logger,
final Object object)
{
try
{
final String jsonString = new ObjectMapper().writeValueAsString(object);
logger.info(jsonString);
}
catch (final JsonProcessingException e)
{
LOGGER.error("Unable to create a json object" + e);
}
catch (final IOExcepton e)
{
LOGGER.error("Error while logging metric " + e);
}
}
我想要一个返回 IOException 的场景。
解决方案
注意:在 jackson-databind 版本 2.1 之前,writeValueAsString()
方法 throws 子句包括 IOException;2.1 删除它。
推荐阅读
- kubernetes - 如果我处理 AppDomain.CurrentDomain.UnhandledException,net5 禁用标准错误输出
- rsync - 让 `rsync -aF` 尊重 .rsync-filter
- c# - 性能优化 - 实现并发构建器模式
- sql-server - 为什么我的数据库接收到空值?使用 Python3 发布到 API
- ios - 在 iPhoneXR 中加载 webview 时元素重叠
- ios - 如何从 Windows Expo Visual Studio 代码生成 ipa 文件?
- http - 将哈希附加到 js 文件名 vs Cache-Control: no-store
- magento2 - Magento 2 在 CMS 块中添加联系我们页面不起作用
- reactjs - 如何使用 React-Hooks 在表单提交时选择多个复选框值并发布到服务器
- javascript - 如何检查字符串是否包含列表的任何元素并获取元素的值?