Mitglieder mit jsonpath zählen?
Ist es möglich, die Anzahl der Mitglieder mit JsonPath?
Mit spring mvc test Teste ich einen regler erzeugt
{"foo": "oof", "bar": "rab"}
mit
standaloneSetup(new FooController(fooService)).build()
.perform(get("/something").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk())
.andExpect(jsonPath("$.foo").value("oof"))
.andExpect(jsonPath("$.bar").value("rab"));
Würde ich mag, um sicherzustellen, dass keine weiteren Mitglieder vorhanden sind, in der generierten json. Hoffentlich zählen Sie mit jsonPath. Ist es möglich? Alternative Lösungen sind auch willkommen.
InformationsquelleAutor der Frage NA. | 2012-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Testen Größe array:
jsonPath("$", hasSize(4))
Zählen Mitglieder der Objekt:
jsonPath("$.*", hasSize(4))
I. e. um zu testen, dass die API gibt einen array der 4 Elemente:
akzeptierte Wert:
[1,2,3,4]
testen, dass die API gibt einen Objekt mit 2 Mitgliedern:
akzeptierte Wert:
{"foo": "oof", "bar": "rab"}
Ich bin mit Hamcrest-version 1.3 und Spring-Test 3.2.5.RELEASE
hasSize(int) javadoc
InformationsquelleAutor der Antwort lopisan
Umgang mit diesem mich heute. Es scheint nicht, wie wird dies umgesetzt und in den verfügbaren Behauptungen. Es gibt jedoch eine Methode übergeben, die in einer
org.hamcrest.Matcher
Objekt. Mit dass Sie etwas tun, wie die folgenden:InformationsquelleAutor der Antwort Ben
wenn Sie nicht über
com.jayway.jsonassert.JsonAssert
auf Ihren Klassenpfad ein (das war bei mir der Fall), die Prüfung in der folgenden Art und Weise kann eine mögliche Lösung:[Hinweis: ich vermutete, dass der Inhalt der json-ist immer ein array]
InformationsquelleAutor der Antwort Tanvir