Specflow: Могут ли некоторые определения шагов использоваться в полном объеме? - PullRequest
1 голос
/ 11 октября 2011

Когда для функции требуются некоторые заданные шаги, для каждого сценария необходимо указать «Учитывая, что я что-то сделал, и что-то еще, и последнее ...». Выполнение всех этих шагов для каждого сценария может быть утомительным.

Одним из решений может быть указание всего этого за один заданный шаг (учитывая, что я настроен на тестирование функции X). Тем не менее, это не что-то очень точное, читая шаги функции.

Вот почему я хотел бы знать, могут ли определения шагов использоваться широко. Я бы использовал что-то вроде этого:

Характеристика: Моя функция

Obvious feature description here.

Given I have done something
And something else
And the last thing

Сценарий: проверка Y

When I type X
Then I should see Y

Сценарий: проверка Z

When I type X
Then I should see Z

За это:

Характеристика: Моя функция

Obvious feature description here.

Сценарий: проверка Y

Given I have done something
And something else
And the last thing
When I type X
Then I should see Y

Сценарий: проверка Z

Given I have done something
And something else
And the last thing
When I type X
Then I should see Z

Любое решение приветствуется, но я бы хотел что-то, что можно понять при чтении файла .feature вместо того, чтобы копаться в коде.

Спасибо

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

Есть отличное и простое решение вашей проблемы в Gherkin, языке, используемом для написания файлов функций.Он называется Background и представляет собой пару шагов, которые выполняются перед каждым сценарием в файле.

См. Эту вики-страницу для получения дополнительной информации;https://github.com/cucumber/cucumber/wiki/Background

1 голос
/ 29 января 2013

При использовании тега Backgroung ваши сценарии и функции будут выглядеть примерно так:

Feature: My feature
     As a person
     I want to do something
     So that something can happen

Background: My Background
Given I have done something
And something else
And the last thing

Scenario: Y validation
      When I type X
      Then I should see Y

Scenario: Z validation
      When I type X
      Then I should see Z
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...