Напишите лучшие сценарии и шаги.Вы все о том, КАК вы входите в систему, поэтому повторение является болезненным.Вместо этого напишите шаги, которые только о том, что вы делаете;их легче использовать повторно.
Итак ...
Scenario: Login
Given I am registered
When I login
Then I should be logged in
затем позже
Feature: Something that requires me to be logged in
Background
Given I am logged in
Scenario: Do something
When I do something
Then something should be done
Посмотрите, как я сократил большую кучу фона во что-то гораздо более простоеи аннотация.
Я дам несколько советов по реализации здесь
Given I am logged in
@i = create_registered_user
login(user: @i
end
When I login
login(user: @i)
end
Given I am registered
@i = create_registered_user
end
Вы можете применять этот подход с любым уровнем сложности.Обратите внимание, как в последнем сценарии используется наше относительно сложное поведение регистрации без сценария или функции, даже не зная об этом (регистрация является частью входа в систему).