2014-01-31 3 views
0

Если удалитьуверяет - Использование ResponseSpecBuilder результатов в пустом экстрагированных ответа

.spec (responseSpec)

от моего вызова, печатает ответ штраф на "Foo". Если я включаю построитель, ответ печатает пустую строку (даже если тест проходит). Кто-нибудь знает, почему, или как это исправить? Я хотел бы использовать построитель и распечатать ответ проходящего теста.

public void getCirclesId() 
    { 
     String endpoint = "getCirclesId"; 
     String url = baseUrl + resourcePath + "/" + circleId; 
     RequestSpecification given = given().header("Authorization", RestTest.BEARER_TOKEN); 

     ResponseSpecBuilder specBuilder = new ResponseSpecBuilder(); 
     specBuilder.expectBody("features.priceMonth", is("5.00")); 
     specBuilder.expectBody("features.priceYear", is("50.00")); 
     Response response = JsonTest.executeRequestWithSpec(given, url, resource, endpoint, JsonTest.HttpType.GET, specBuilder); 
    } 

...

public static Response executeRequestWithSpec(RequestSpecification given, String url, String resource, String endpoint, HttpType type, ResponseSpecBuilder builder) 
    { 
     Response response = null; 
     try { 
      switch (type) { 
       case GET: 
        response = executeGetRequestWithSpec(given, url, builder); 
        break; 
       case POST: 
        response = executePostRequestWithSpec(given, url, builder); 
        break; 
       case PUT: 
        response = executePutRequestWithSpec(given, url, builder); 
        break; 
       case DELETE: 
        response = executeDeleteRequestWithSpec(given, url, builder); 
        break; 
      } 

      System.out.println(resource + " - " + endpoint + ": " + response.print()); 
     } catch (AssertionError e) { 
      RestTest.failCount++; 
      System.err.println(resource + " - " + endpoint + " Error: " + e.getMessage()); 
     } 
     return response; 
    } 

    private static Response executeGetRequestWithSpec(RequestSpecification given, String url, ResponseSpecBuilder builder) 
    { 
     ResponseSpecification responseSpec = builder.build(); 
     Response response = given.when().get(url + ".json").then().assertThat().statusCode(200).spec(responseSpec).extract().response(); 
     System.out.println("FOOOO" + response.print()); 
     return response; 
    } 

ответ

0

Вы используете самую последнюю версию REST Страхователь (в настоящее время 2.3.0)? В противном случае я предлагаю вам перейти на эту версию. Были проблемы с характеристиками ответа в версии 2.0.

 Смежные вопросы

  • Нет связанных вопросов^_^