コード例 #1
0
  @SuppressWarnings("unchecked")
  private void callMethod(String bean, String method, MapEntry... expectedEntries) {
    Object obj = ControllerUtil.sendAndReceiveObject(mockMvc, bean, method);
    List<Map<String, Object>> records;

    if (obj instanceof List) {
      records = (List<Map<String, Object>>) obj;
    } else {
      Map<String, Object> result = (Map<String, Object>) obj;
      assertThat(result)
          .hasSize(2)
          .contains(MapEntry.entry("success", true))
          .containsKey("records");
      records = (List<Map<String, Object>>) result.get("records");
    }

    assertThat(records).hasSize(2);
    for (int i = 1; i <= records.size(); i++) {
      Map<String, Object> model = records.get(i - 1);
      assertThat(model).hasSize(expectedEntries.length);

      for (MapEntry entry : expectedEntries) {
        if (entry.key.equals("id")) {
          assertThat(model).contains(MapEntry.entry("id", i));
        } else {
          assertThat(model).contains(MapEntry.entry(entry.key, "" + entry.value + i));
        }
      }
    }
  }