當單元測試時,我需要聲明兩個以隨機順序填充地圖的JSON
結果。聲明以隨機順序輸出的兩個JSON結果
兩個JSONs
都具有相同的模式,但大多數內容確實有所不同。
這些來自一個Kafka
流(JavaPairDStream
測試時),並提取從tuple2
然後從JSON Strings
轉換使用Jackson ObjectMapper
到地圖。我正在使用queueStream
,但奇怪的是,在使用Spark
工作流進行測試時,訂單是隨機的。
編輯:我已經決定使用List
因爲集可能更改順序...
這裏是Java
代碼:
//Create a list to store maps
List<Map<String, Object>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
//Traverse each map in list and apply correct assertions
for (Map<String, Object> map : list) {
//if Event is "Event1", assertions for "Event1" Event
if (map.get("Event").toString().equals("Event1")) {
Assert.assertEquals(map.get("Event").toString(), "Event1");
more assertions go here...
} else {
//if Event is not "Event1", assertions for "Event2" Event
Assert.assertEquals(map.get("Event").toString(), "Event2");
more assertions go here...
}
}
注:這工作得很好,現在因爲我只與兩個不同的事件一起工作。但我想了解如何通過可伸縮性來處理這種情況。
什麼語言?並且可以向我們展示示例代碼(JSON和您的嘗試)? –
已更新。感謝您的幫助,@HubertGrzeskowiak! – dinky
請考慮下次再說明問題。你正在展示一個半熟的解決方案,沒有人真正知道你想達到什麼。 –