с Гивенсом (контекстами) все в порядке; мы обычно используем либо непрерывное настоящее или прошедшее время для тех:
Given the kafka server is active <-- continuous present
Given the kafka server was started <-- past tense
Для случаев (событий) лучше использовать активный голос. Активный голос начинается с того, кто это сделал. Кто запустил сервер? (Здесь я тоже немного поправил английский.)
When the consumer client was started <-- passive voice
When our consumer starts their client <-- active voice
Для Thens (результатов) мне действительно нравится слово «следует». Это побуждает людей подвергать сомнению это; это действительно должно произойти? Сейчас? В этом выпуске? Есть ли контекст, для которого это не должно происходить или должно происходить что-то другое? Это все еще должно произойти, или этот сценарий изменился?
Then the consumer interface should print the message, `Successfully connected to Kafka`.
И еще одна вещь: детали этого последнего шага кажутся мне слишком важными. Если сообщение изменилось, вам придется изменить его везде. Вместо этого я сохраняю это в коде (вы можете абстрагировать шаг) и скажу что-то вроде:
Then the interface should tell the consumer that the connection was successful.
Это то, что мы обычно называем "декларативным, а не императивным" . Также нормально иметь пассивный голос здесь:
Then the consumer should be told that the connection was successful.
Использование слова «должен» также помогает дифференцировать результаты одного сценария от других; часто они совпадают с результатом, формирующим контекст для другого сценария:
Given Priscilla has an account
When she enters her username and password correctly
Then she should be on her home page.
Given Priscilla is on her home page...
Я написал больше о временах и языке BDD здесь , где вы также найдете тонны других ресурсов для новых BDD в категории категории BDD .