Как пометить сценарий огурца как ожидающий, чтобы он не считался переданным?
Scenario: Guest should not see edit link
# pending implementation
Должен ли я отмечать как ожидающий?
Как пометить сценарий огурца как ожидающий, чтобы он не считался переданным?
Scenario: Guest should not see edit link
# pending implementation
Должен ли я отмечать как ожидающий?
Хорошо, понял это.
Шаги Сценарии помечены как ожидающие, если они не найдены ни в одном из файлов шагов.
Scenario: New product form should have some special field
Given joe is logged in as an user
When on the new exercise page
Then the select field should have some special field
Он даже достаточно хорош, чтобы завершить незавершенный шаг.
When /^on the new exercise page$/ do
pending # express the regexp above with the code you wish you had
end
Проблема с тегом @wip, который я обнаружил, заключается в том, что он не делает ваш набор тестов желтым. Он полностью игнорирует функции wip, и вы, как правило, забываете, что они существуют. Это укусило мою команду в тылу, когда сценарии отмечены как @wip, а затем забыты. Хотелось бы, чтобы было лучшее решение. Самое лучшее, что у меня есть, это добавить этот пользовательский шаг:
Given /^PENDING/ do
pending
end
Вместо того, чтобы отмечать реальную функцию как ожидающую, я могу поместить ее в состав с сообщением, например:
Given PENDING: we need client input
Затем он появляется следующим образом:
(::) pending steps (::)
features/example.feature:15:in `Given PENDING: we need client input'
Ожидание останавливает цепочку тестов, но НЕ предотвращает огурцов о любых шагах undefined, которые следуют в том же сценарии. Кроме того, в идеале неудачные и ожидающие функции скажут вам имя сбой сценария, но они этого не делают.
Другая возможность - это тег @wip (работа продолжается). Сценарии с тегами @wip не будут запускаться по умолчанию, но только когда вы явно запросите их.
@wip
Scenario: New product form should have some special field
Given I still work on this feature
Таким образом вы можете исключить некоторые сценарии из автоматической сборки, чтобы он не прерывался во время работы над этой функцией.
В дополнение к ответу averell вы можете исключить теги сценариев при запуске огурца.
Если @todo
и @wip
- теги, которые вы хотите использовать для сценариев, которые находятся в процессе работы или просто отмечают ожидающие сценарии, запустите свои функции, например:
cucumber --tags [email protected] --tags [email protected]
Если вы используете Guard, выполните следующие действия:
guard 'cucumber', :notification => true, :all_on_start => true,
:cmd => "bundle exec cucumber",
:cli => "--tags [email protected] --tags [email protected]" do
watch(%r{^features/.+\.feature$})
watch(%r{^features/support/.+$}) { 'features' }
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) do |m|
Dir[File.join("**/#{m[1]}.feature")][0] || 'features'
end
end