Будьте уверены, многоразовые спецификации на всех этапах JVM Cucumber - PullRequest
0 голосов
/ 26 ноября 2018

Я бы хотел, чтобы каждый написанный мной тест тестировался в xml и json, поэтому, используя огурец, у меня есть схемы сценариев настройки для обоих типов контента, я разделил проверку типа контента на отдельный шаг.

Scenario Outline: A user is able to get all entries from the resource
Given a user accesses the rest service using Content-Type <contentType>
When a user GETs the <resource> endpoint
Then the user will see the expected <status> code
    Examples: 
    | contentType | resource  | status |
    | xml         | JobTitles | 200    |
    | json        | JobTitles | 200    |

Когда выполняются тесты, я проверяю, установлен ли тип содержимого на xml или другой в одном методе, а в другом методе я получаю конечную точку, однако конечная точка всегда возвращается с использованием типа содержимого xml,значение, которое я установил в более раннем методе, не передается, вот разбивка кода

@Step("Set Content-Type")
public void setContentType(String contentType) {
    if (contentType.equals("xml")) {
    SerenityRest.rest().given().spec(ReuseableSpecifications.getXmlRequestSpec());
    }
    else {
        SerenityRest.rest().given().spec(ReuseableSpecifications.getJsonRequestSpec());
    }
}

@Step("Get Resource Endpoint")
public void getResourceEndpoint(String resource) {
    SerenityRest.when().get(resource);
}

Любая помощь, чтобы заставить это работать, или любые другие методы, которые мешали бы мне делатьЕсли утверждения в каждом тесте, чтобы установить тип содержимого приветствуются.

...