2012-03-14 2 views
0

Этот вопрос не относится к REST, но об использовании возвращаемого значения из обращения, сделанного в @When, в последующем @Then.Запись истории JBehave

Я рассматриваю использование JBehave для проверки некоторых вызовов REST api. Во-первых есть post создать пользователя

When I create a user with name Charles Darwin 

Как я понимаю REST, и это то, что делает Atom api, идентификатор возвращается в заголовок местоположения, например, /user/22. Поэтому я хочу что-то сказать о реакции.

Then user was created with a valid Id 

Я могу сделать это путем создания переменной-члена в классе Steps и сохраняя ответ там, и я использовал этот подход и раньше, но это правильный путь?

ответ

1

Да. Нужно хранить данные, которые можно утверждать в ваших методах @Then. Самый простой способ сделать это - иметь переменную-член, но это означает, что ваш @ When/@ Затем должен быть в одном классе шагов. Другой способ сделать это - иметь общий объект данных, который использует все ваши Шаги, и затем вы можете установить его одним способом и получить его в другом. Если вы просто хотите что-то общее, вы можете сделать Map<String,? extends Object> как ваш общий объект данных. А затем, если вы запускаете несколько потоков, затем оберните объект данных в ThreadLocal.

Это то, что я видел - и объект данных должен быть установлен/очищен с помощью метода @ BeforeScenario/@ AfterScenario.