@@ -5,36 +5,38 @@ Write JSON unit tests faster and with less code. Great for testing REST interfa
55
66Write and maintain this:
77
8- String expected ="{fans:[{id:123,name:\"Corby Page\"},"
8+ JSONObject data = getRESTData("/friends/367.json");
9+ String expected ="{friends:[{id:123,name:\"Corby Page\"},"
910 + "{id:456,name:\"Carter Page\"}]}";
1011 JSONAssert.assertEquals(expected, data, false);
1112
1213NOT this:
1314
14- Assert.assertTrue(data.has("fans"));
15- Object fansObject = data.get("fans");
16- Assert.assertTrue(fansObject instanceof JSONArray);
17- JSONArray fans = (JSONArray) fansObject;
15+ JSONObject data = getRESTData("/friends/367.json");
16+ Assert.assertTrue(data.has("friends"));
17+ Object friendsObject = data.get("friends");
18+ Assert.assertTrue(friendsObject instanceof JSONArray);
19+ JSONArray friends = (JSONArray) friendsObject;
1820 Assert.assertEquals(2, data.length());
19- JSONObject fan1Obj = fans .getJSONObject(data.get(0));
20- Assert.true(fan1Obj .has("id"));
21- Assert.true(fan1Obj .has("name"));
22- JSONObject fan2Obj = fans .getJSONObject(data.get(1));
23- Assert.true(fan2Obj .has("id"));
24- Assert.true(fan2Obj .has("name"));
25- if ("Carter Page".equals(fan1Obj .getString("name"))) {
26- Assert.assertEquals(123, fan1Obj .getInt("id"));
27- Assert.assertEquals("Corby Page", fan2Obj .getString("name"));
28- Assert.assertEquals(456, fan2Obj .getInt("id"));
21+ JSONObject friend1Obj = friends .getJSONObject(data.get(0));
22+ Assert.true(friend1Obj .has("id"));
23+ Assert.true(friend1Obj .has("name"));
24+ JSONObject friend2Obj = friends .getJSONObject(data.get(1));
25+ Assert.true(friend2Obj .has("id"));
26+ Assert.true(friend2Obj .has("name"));
27+ if ("Carter Page".equals(friend1Obj .getString("name"))) {
28+ Assert.assertEquals(123, friend1Obj .getInt("id"));
29+ Assert.assertEquals("Corby Page", friend2Obj .getString("name"));
30+ Assert.assertEquals(456, friend2Obj .getInt("id"));
2931 }
30- else if ("Corby Page".equals(fan1Obj .getString("name"))) {
31- Assert.assertEquals(456, fan1Obj .getInt("id"));
32- Assert.assertEquals("Carter Page", fan2Obj .getString("name"));
33- Assert.assertEquals(123, fan2Obj .getInt("id"));
32+ else if ("Corby Page".equals(friend1Obj .getString("name"))) {
33+ Assert.assertEquals(456, friend1Obj .getInt("id"));
34+ Assert.assertEquals("Carter Page", friend2Obj .getString("name"));
35+ Assert.assertEquals(123, friend2Obj .getInt("id"));
3436 }
3537 else {
3638 Assert.fail("Expected either Carter or Corby, Got: "
37- + fan1Obj .getString("name"));
39+ + friend1Obj .getString("name"));
3840 }
3941
4042Right?
0 commit comments