Я пытаюсь поделиться объектом, созданным в методе шага из Class1, с методом шага, созданным в Class2.Давайте покажем вам мой конкретный пример:
У меня есть MainStep с Main.feature:
public class MainStep extends SpringTest {
private ResponseEntity<String> responseEntity;
@When("^the client calls (.*)$")
public void theClientCalls(String path) {
responseEntity = restTemplate.getForEntity(getServer() + path, String.class);
CucumberCache.INSTANCE.putObject("resp", responseEntity);
}
@Then("^the client receives status code (\\d+)$")
public void theClientReceivesStatusCode(int statusCode) {
assertTrue(responseEntity.getStatusCode().value() == statusCode);
}
@Then("^the client receives body (.*)$")
public void theClientReceives(String body) {
assertTrue(responseEntity.getBody().equals(body));
}
}
Feature: the version can be retrieved
Scenario: client gets 200 and hello world
When the client calls /main
Then the client receives status code 200
Then the client receives body hello world
Scenario: client gets 200 and bye world
When the client calls /second
Then the client receives status code 200
Then the client receives body bye world
Теперь давайте покажем вам DbStep и Db.feature:
public class DbStep extends SpringTest {
@Then("^the client verifies that the response is not null$")
public void theClientVerifiesThatTheResponseIsNotNull() {
CucumberCache.INSTANCE.getObject("resp").ifPresent(resp -> {
assertNotNull(resp);
});
}
}
Feature: the version can be retrieved
Scenario: client gets 200 and hello world
When the client calls /db
Then the client verifies that the response is not null
Then the client receives status code 201
Then the client receives body db status ok
Итаквот моя проблема: в основном сценарий Db.feature выполняет почти те же действия, что и сценарии Main.feature, за исключением шагаClientVerifyThatTheResponseIsNotNull.
Итак, чтобы подвести итог, как я могу поделиться объектом ответа, созданным в MainSteps # theClientCalls с DbSteps # theClientVerizesThatTheResponseIsNotNull?(в настоящее время, как вы видите, я использую одноэлементную карту, на которой я пишу и получаю ответ).
С уважением,