Как использовать «assertThat (). Body (« электронная почта », is (электронная почта)); чтобы подтвердить какой-либо ответ? - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь проверить JSON-ответ POST API, который я разрабатываю Автоматизированные тесты.

public void criarConta(String srtAmbiente, String srtAPI, String srtToken, String srtSenha) {
            System.out.println(srtAmbiente+srtAPI);
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            int length = 15;
            String email = generateRandomEmail(length);
            System.out.println(email);
            Map<String, String> emailContent = new HashMap<String,String>();
            emailContent.put("email", email);
            Map<String, Object> postContent = new HashMap<String,Object>();
            postContent.put("customer", emailContent);
            postContent.put("password", srtSenha);
            RestAssured.given().contentType(ContentType.JSON)
            .header("Authorization", "Bearer "+srtToken)
            .with().body(postContent)
            .when().post(srtAmbiente+srtAPI).prettyPeek()
            .then().statusCode(200).contentType(ContentType.JSON)
            .assertThat().body("email", *is*(email));
    }

Но мой код не распознает «IS» в последней строке, я попытался изменить его на «ContainsString», «equalsTo», но он возвращает ту же ошибку. Я не знаю, если это зависимость или какой-то импорт. Вы можете мне помочь? Спасибо!

1 Ответ

1 голос
/ 12 апреля 2019

Вам нужно сделать статический импорт is()

import static org.hamcrest.CoreMatchers.is;

RestAssured.given().contentType(ContentType.JSON)
                .header("Authorization", "Bearer "+srtToken)
                .with().body(postContent)
                .when().post(srtAmbiente+srtAPI).prettyPeek()
                .then().statusCode(200).contentType(ContentType.JSON)
                .assertThat().body("email", is(email));
    }

(ИЛИ) используйте import org.hamcrest.CoreMatchers; и CoreMatchers.is(email)

...