Одна вещь, которая мне помогает, - помнить, что Gherkin - это всего лишь синтаксис для Specification by Example.Вы пытаетесь предоставить примеры, наиболее подходящие для вас, на языке бизнес-доменов.
Таким образом, то, что вы предлагаете, совершенно правильно.У вас есть один пример сценария, который использует таблицы для определения того, что происходит при редактировании планового контракта, и другой набор примеров, которые приводят к ошибкам при контрактах в других состояниях.Вы также можете сделать это явно, расширив схему для каждого состояния.Оба варианта действительны, и вы всегда можете рефакторировать разделение функций, как если бы вы использовали кодовую базу.
Однако вы намереваетесь сделать здесь, чтобы предоставить грамматику, структуру, язык, называть его как хотите,что вы можете использовать для общения с бизнес-аналитиками.Вы хотите иметь возможность извлечь этот документ и сказать: «Вот как система работает сейчас, как мы можем изменить это, чтобы она поддерживала вашу новую функцию?».
Лично я сейчас избегаю табличных и контурных форм в своих функциях, так как хочу, чтобы они выглядели максимально дружественными ко всем, что я им показываю, и пока мои функции по-прежнему легко описать.