我想使用graylog作为中央日志服务器,目前我只是使用slf4j Logger“slf4j-api”作为Java日志框架来登录我的java应用程序。我可以使用 SLF4J 将日志记录发送到 Graylog 吗?或者我需要哪些额外的库才能将这些日志发送到 Graylog?
我想编写一个单元测试来测试 JsonProcessingException。此异常可能发生在以下行:mapper.writeValueAsString()。
public void myMethod(Args...) {
try {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
Document.parse(mapper.writeValueAsString(testObject)));
}
} catch (JsonProcessingException e) {
log.error("Error parsing the object to json string. ", e);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的单元测试:
public class Test {
@Mock
private ObjectMapper mapper;
@InjectMocks
ClassUnderTest sut;
@Test
public void testJsonProcessingException() throws JsonProcessingException {
when(mapper.writeValueAsString(Mockito.any())).thenThrow(new JsonProcessingException("Error parsing the object to json string. "){
private static final long serialVersionUID = 1L;});
sut.myMethod(args...);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我模拟的映射器将不会被使用(我得到不必要的 Mockito 存根失败),因为映射器在方法内部再次初始化。我如何使用mockito对这种情况进行单元测试?