首页 > 解决方案 > 如何为返回 IOException 的 ObjectMapper.writeValueAsString(object) 编写单元测试

问题描述

我正在为ObjectMapper().writeValueAsString(object). 我有一个捕获 IOException 的 catch 块。我需要对这个 catch 块进行单元测试。

我需要知道在哪种情况下,IOExceptionObjectMapper.

要抛出 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 的场景。

标签: javaobjectmapper

解决方案


注意:在 jackson-databind 版本 2.1 之前,writeValueAsString()方法 throws 子句包括 IOException;2.1 删除它。


推荐阅读