我正在处理遗留代码,必须使用jmockit进行一些新的测试。我已经尝试了几个小时来测试writeValueAsString()的结果是否与它应该的匹配。无论传递给ObjectMapper的对象是什么,它总是返回null。我已经尝试了我能想到的每一个变化。以下是重现问题的最简单案例。我们正在使用jackson 2.6.x. writeValueAsString()在生产中工作正常,但由于某种原因,总是在测试中返回null。
@Test
public void test_method(){
Map<String, Object> user = new HashMap<>();
user.put("userId", "someValidUserId");
user.put("accessToken", "someValidAccessToken");
String outJson ="";
ObjectMapper mapper = new ObjectMapper();
try {
outJson = mapper.writeValueAsString(user); // outJson is always null. Why?
System.out.println(outJson);
} catch (Exception e) {
System.out.println(e);
}
}