Есть ли способ избежать ключевого слова в характеристике огурца или в описании сценария? - PullRequest
0 голосов
/ 23 сентября 2019

В Gherkin вы можете иметь произвольный текст, описывающий сценарий, функцию и т. Д. Эти описания не используются, скажем, бегуном, но предназначены для того, чтобы вы описали важную дополнительную информацию для другого человека.

В документации для Gherkin сказано, что они не могут начинать строку с одного из других ключевых слов, таких как Given, When или Then.Тем не менее, иногда лучшее описание, которое я мог бы дать, было бы начать с одного из этих ключевых слов.

Я вроде как придумываю это, когда я иду сюда, но вот пример того, чего я желаю Я мог бы сделать:

Scenario: Many notifications at the same time get combined

    When we have a lot of notifications being posted at once, it causes problems
    for humans. They can't make sense of that much new information all at once.
    So if we are ever in a situation where we are posting lots of
    notifications in a short time period, we will take the one with the highest
    severity and show it with the other notifications as "child" notifications,
    accessible via a link that says, "And N other issues."

    Given a notification posted today at 11:03:25
      And a notification posted today at 11:03:26
      And a notification posted today at 11:03:26
      And a notification posted today at 11:03:27
     When a notification is posted at 11:03.28
     Then the notification list will contain 1 notification
      And that notification should contain 4 child notifications

Проблема, с которой я столкнулся, состоит в том, что, поскольку мое описание начинается с When, инструменты предполагают, что я выполнил свои конкретные шаги, и взрывают наСледующая строка, которая не начинается с ключевого слова.

Я рассмотрел:

  • Закомментируем первую строку или все описание(мне это кажется более последовательным), но для меня существует семантическая разница между комментарием с # и описанием.

  • Переписать вещь, чтобы не начинать сa «Когда». Например, если оно начиналось с «Во времена, когда у нас много уведомлений ...», но это менее читабельно, что является точкой в ​​спецификациях в стиле корнишона.Если бы это не было первое слово во всем описании, я мог бы просто обернуть мои строки по-другому, чтобы «Когда» начиналось в середине строки вместо начала, но в этом случае янет этой опции.

Эти опции кажутся обходными решениями, которые кажутся неоптимальными.

Есть ли способ "убежать" от этих ключевых слов, чтобы сообщитьСистема, что некоторое использование «Когда» на самом деле все еще только часть описания, а не ключевое слово?Если нет, то существует ли какая-то общепринятая передовая практика или рекомендации о том, как люди должны справляться с подобными ситуациями?

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Вы можете использовать # в начале строки (он используется для написания комментариев).

Пример:

# When a notification is posted...
0 голосов
/ 29 сентября 2019

Вы неверно истолковываете спецификацию языка.Вы можете описать функцию и использовать ключевые слова в начале строки.Приведенный вами пример интерпретируется как сценарий, так как описание появляется после ключевого слова сценария.

Как сказал г-н Кас в своем ответе, вам нужны комментарии.

Feature: Given a feature title
    When I use keywords up here
    Then it is allowed

Scenario: When I use keywords after the title to describe a scenario
    # Then I need to use comments
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...