0
私は、Instagramから私のシステムにデータをマップするリーダーを持っています。 Junit Testを実行すると、ClassCastExceptionが発生しました。私のテストクラスには、次のコードを持っていますClassCastException:com.fasterxml.jackson.databind.node.MissingNodeをcom.fasterxml.jackson.databind.node.Arノードにキャストすることはできません
public class InstagramToJsonMapperTest extends AbstractMapperTest {
private InstagramMapper instagramMapper;
private boolean printResult = true;
@Before
public void setup() {
super.setup();
instagramMapper = new InstagramMapper(128);
}
private void compareJson(String unmapped, String mapped) throws Exception {
JsonNode unmappedJson = loadJson(unmapped);
JsonNode mappedJson = loadJson(mapped);
Message<JsonNode> msg = MessageBuilder.withPayload(unmappedJson).build();
Message<JsonNode> resultMsg = instagramMapper.map(msg);
JsonNode result = resultMsg.getPayload();
if(printResult) {
System.out.println("processed: " + result);
System.out.println("expected: " + mappedJson.toString());
}
Assert.assertTrue(JacksonUtils.equals(result, mappedJson));
}
@Test
public void testPhoto() throws Exception {
compareJson("/mapping/test.json", "/mapping/test_mapped.json");
}
}
エラーは、私のマッパーで、この行は次のとおりです。
String[] branches = JacksonUtils.toArray((ArrayNode) extractor.extract("contentBranch"));
if(branches.length == 1) {
abc.put("contentBranch", branches[0]);
} else {
abc.set("contentBranch", JacksonUtils.arrayToArrayNode(branches));
}
私の問題があり、私は変更すること何を知りません。テストファイルのマッパーコードまたはコードを変更する必要があります。エラーは次のとおりです。