ActiveWeb: тестирование атрибутов и значений ответов JSON - PullRequest
0 голосов
/ 26 сентября 2018

Каков предпочтительный способ проверки ответа JSON, особенно атрибутов и значений, которые должны присутствовать?Какой тип контроллера подходит для расширения: IntegrationSpec, ControllerSpec, AppIntegrationSpec?Я не нашел правильного ответа в соответствующем разделе тестирования .Спасибо.

1 Ответ

0 голосов
/ 26 сентября 2018

Есть хороший пример, если это в этом примере проекта: https://github.com/javalite/activeweb-rest/blob/27687e26f5476734b867d01f38b2575c6de3f3c9/src/test/java/app/controllers/PeopleControllerSpec.java#L57

public void shouldCreateNewPeopleWithAddresses(){

        String json = Util.readResource("/people.json");
        request().content(json.getBytes()).contentType("application/json").post("create"); // <--- need to call "create" according to REST routing

        Map response = JsonHelper.toMap(responseContent());

        the(response.get("code")).shouldBeEqual(200);
        the(response.get("message")).shouldBeEqual("successfully created people and addresses");
}

По сути, вы получаете responseContent() в качестве строки, тогда вы можете делать с ней все, что захотите.Суперкласс для спецификации не имеет значения.

...