Важно понять, что существует разница между тегами и профилями .Я также использую Guard с Cucumber и был разочарован тем, что профиль по умолчанию продолжал использоваться, и ни один из моих тегов @wip (Work In Progress) не был выбран.Теперь понятно, почему это так.Как утверждают некоторые на других форумах, мой профиль по умолчанию отфильтровывает @ wip.
<%
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
base_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
std_opts = "#{base_opts} --strict --tags ~@wip"
wip_opts = base_opts
%>
default: --drb <%= std_opts %> features
wip: --drb <%= wip_opts %> --tags @wip:3 --wip features
rerun: --drb <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
"std_opts =" # {base_opts} --strict - теги ~ @ wip"<= <i>wip отфильтровывается здесь в std_opts
Я хочу использовать профиль 'wip', который будет включать в себя сценарии или функции, отмеченные '@wip'! *
wip: --drb <% = wip_opts%> - теги@wip: 3 --wip features "<= <i>число представляет максимальное количество сценариев для запуска;«--wip» означает, что Cuc ожидает, что тест не пройдёт (потому что мы над ним работаем)
Итак, теги уже настроены, и я добавил «@wip» в свой *.файл функции.Как насчет профилей?При использовании Guard (Spork) для использования профиля «wip» его необходимо настроить.Это имеет смысл;компьютер не может прочитать мои мысли!Обновите Guardfile, чтобы использовать профиль 'wip'.
guard 'cucumber', :cli => "--drb -p wip", :all_on_start => false, :all_after_pass => false do
watch(%r{^features/.+\.feature$})
watch(%r{^features/support/.+$}) { 'features' }
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
end
guard 'cucumber',: cli => "--drb -p wip"<= <i>'- p' для указания желаемого профиля
И теперь мои сценарии успешно фильтруются с помощью 'wip'.