что-то нет тут хейтеров огурца )
варианты:
1) в шаге "вызывается метод X" - результат сохраняем в переменную, на следующем степе проверяем значение этой переменной. Чтобы в шаге это было видно - можно написать "вызывается метод X и результат сохраняется в переменной "result"", а последний шаг превратить в типа: "Переменная "result" содержит значение <Y>"
2) два последних шага объединить в один
3) первый степ убираем, остаются:
Когда вызывается метод Х со значением Y=<Y>
Тогда — вот тут описывается не на уровне переменных, а результат словесный, какой нужен, например: "Тогда заявка имеет статус Завершен" или "Тогда товар куплен".
Чистый BDD. Пишешь по-человечески. Можно и первый степ заменить на "Когда мы покупаем товар с параметром <Y>", "Тогда товар имеет статус "Забронирован"". Суть надеюсь понятна.
Но все это спорно. Надо брать тот вариант, который удобнее.
спасибо за ответ! я думал о таком варианте, но возможно есть вариант получения значения через сохраняемое в ScenarioContext значение. В интернете не нашел такой вариант, хотя внутри ScenarioContext не очень удобно, но выковырять значения можно, через костыли. Скорее всего остановлюсь на описанном вами варианте, хотя он получится более громоздким ввиду количества параметров в тесте (в примере он один, а в реальном моем тесте их 2 и в других тестах может быть больше).