Подтвердить что ты не робот

Как вы отмечаете сценарий огурца как ожидающий

Как пометить сценарий огурца как ожидающий, чтобы он не считался переданным?

Scenario: Guest should not see edit link
# pending implementation

Должен ли я отмечать как ожидающий?

4b9b3361

Ответ 1

Хорошо, понял это.

Шаги Сценарии помечены как ожидающие, если они не найдены ни в одном из файлов шагов.

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

Ответ 2

Проблема с тегом @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, которые следуют в том же сценарии. Кроме того, в идеале неудачные и ожидающие функции скажут вам имя сбой сценария, но они этого не делают.

Ответ 3

Другая возможность - это тег @wip (работа продолжается). Сценарии с тегами @wip не будут запускаться по умолчанию, но только когда вы явно запросите их.

@wip
Scenario: New product form should have some special field
  Given I still work on this feature

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

Ответ 4

В дополнение к ответу 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