Вы не должны использовать тег для входа в систему. Вход в систему является бизнес-функциональностью и должен быть упомянут в каждом сценарии, где это требуется. Если у вас много сценариев, требующих входа в систему, вы можете поместить шаг входа в фоновый режим. например,
Feature: Admin xxx
Background:
Given I am logged in as an admin
Scenarios Do foo
When I foo
...
Scenario: Do bar
When I bar
Затем вы можете использовать несколько различных шагов входа в систему, чтобы четко указать различные потребности, которые у вас могут быть, и, если вы действительно умны, вы можете заставить каждый шаг определять делегирование работы вспомогательному методу, чтобы избежать дублирования кода, например * 1004. *
# Login Steps
Given "I login as an admin" do
@i = create_user(role: 'admin')
login as: @i
end
Given "I login as Fred" do
@fred = create_user(first_name: 'Fred')
login as: @i
end
Given "Fred is logged in" do
# this one assumes that Fred has already been created
login as: @fred
end
...
Актер (человек, который делает что-то) и то, вошли ли они в систему или нет, слишком важны, чтобы их нельзя было исключить из языка сценариев. Я настоятельно рекомендую вам изменить свой подход и не использовать теги для этого.
@