2014-10-21 6 views
0

Я тестирую API, и я заметил, что в библиотеке RestAssuredMatchers нет отрицательных ответчиков. То, что я имею в виду:Отрицательные утверждения или отрицательные сопоставления в RestAssured API Testing Framework

Например:

Код:

Response response = expect().body("status",equalTo("success")).given() 
.contentType("application/json").with() 
.body(request).when().post(server); 

Здесь я в основном говорю с этим «запрос» тела, ожидать, что ключевой статус в ответ на равных «успех ».

Отсюда можно извлечь код состояния, чтобы обеспечить это была удачная форма ответа сервера и сделать положительное утверждение

Код:

int statusCode = response.getStatusCode(); 
    Assert.assertTrue(statusCode == 200, "status code should have been 200"); 

Так вот где мой вопрос:

Есть ли библиотека или каким-то образом я могу делать отрицательные утверждения и/или ожидания, такие как:

Код:

do().not().expect().body("status",equalTo("success")).given() 
    .contentType("application/json").with() 
    .body(request).when().post(server); 

int statusCode = response.getStatusCode(); 

or RestAssured.assertFalse(statusCode == 404); 

и т.д ...

Может кто-нибудь, пожалуйста, помогите?

ответ

0

Так что вычисляемый параметр для сообщений RestAssured не является json dataformat, а полезная информация json преобразуется в строки. Таким образом, вы можете сделать отрицательное утверждение, перейдя на строку, затем сделав a contains ... и затем оберните это вокруг утверждения. Вот пример кода:

Код:

Response responseLiheap = RestAssured.given().contentType("application/json").with() 
.body(requestString).when().post(server); 

Assert.assertFalse(responseLiheap.asString().contains("Whatever_it_should_not_contain")); 

Если вы хотите проверить ответ самостоятельно вы можете распечатать ответ путем захвата данных сервер отправляет обратно на это:

код :

ResponseBody<?> body = responseLiheap.getBody(); 
logger.info("Response:--->" + body.asString()); 

Вы можете сделать SYSOUT или, как я, использовать регистратор и просто прочитайте эти данные как проверку на работоспособность.

0

Попробуйте использовать библиотеку Hamcrest 1.3. у этого есть список образцов для тестирования отрицательных сценариев.