Ниже двух методов, которые я хотел бы извлечь из общих методов, проблема заключается в том, что aisleID в одном из них является необязательным - это любой способ поставить необязательный аргумент в java-метод?Необязательный параметр Java в аргументе для аналогичных методов
private void putPageUnderAisleId(String aisleId) {
given()
.spec(prepareApplicationJsonHeaders())
.header(HttpHeaders.AUTHORIZATION, verifiableToken(Roles.WRITE_MERCHANDISING))
.body(readResource(NAMED_PAGE_CONTENT_FILE, String.format("%s.html", TEST_PAGE.value()), AISLE_TEST_LOCATION))
.put(AISLE_HTML_URL, aisleId)
.then()
.statusCode(200)
.body(not(isEmptyOrNullString()))
.body(JSON_RESPONSE_MESSAGE, not(isEmptyOrNullString()));
}
private void putPageUnderRootAisleId() {
given()
.spec(prepareApplicationJsonHeaders())
.header(HttpHeaders.AUTHORIZATION, verifiableToken(Roles.WRITE_MERCHANDISING))
.body(readResource(NAMED_PAGE_CONTENT_FILE, String.format("%s.html", TEST_PAGE.value()), AISLE_TEST_LOCATION))
.put(ROOT_AISLE_HTML_URL)
.then()
.statusCode(200)
.body(not(isEmptyOrNullString()))
.body(JSON_RESPONSE_MESSAGE, not(isEmptyOrNullString()));
}
Извлечь третий способ, которым вы передаете лямбду, которая выполняет 'put' часть. Вы вызываете лямбду на объект-строитель на соответствующем шаге, а затем выполняете остальные шаги. –
не могли бы вы предоставить готовый пример ...? – Michal
'void putPage (Потребитель c) {Builder b = given(). Spec (...) ...; c.accept (б); . B.then() StatusCode (...) ...; } 'Invoke with' putPage (b -> b.put (AISLE_HTML_URL, aisleId); 'и' putPage (b -> b.put (ROOT_AISLE_HTML_ID) '. –