使用 JUnit 和 JSONassert 比较 JSON 响应

dav*_*vid 6 java junit json jsonassert

我对 Java 比较陌生,我要求编写 JSON 响应服务器的测试。我发现JSONassert非常有用,但是我没有成功编写该方法getRESTData

有人可以帮忙吗?

@Test
public void testGetFriends() throws JSONException {
    JSONObject data =  getRESTData("/friends/367.json");
    String expected = "{friends:[{id:123,name:\"Corby Page\"}"
            + ",{id:456,name:\"Solomon Duskis\"}]}";
    JSONAssert.assertEquals(expected, data, false);
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*rov 5

您可以获取数据 asString并将其传递到JSONAssert.assertEquals. 转换为JSONObject没有必要。

要从 URL 获取数据,您可以使用URL.getContent以下方法:

final String data = new URL("...").getContent();
String expected = "{friends:[{id:123,name:\"Corby Page\"}"
        + ",{id:456,name:\"Solomon Duskis\"}]}";
JSONAssert.assertEquals(expected, data, false);
Run Code Online (Sandbox Code Playgroud)