diff --git a/Rakefile b/Rakefile index 817340bfbb..3d201b60f7 100644 --- a/Rakefile +++ b/Rakefile @@ -22,28 +22,7 @@ RSpec::Core::RakeTask.new(:spec) do |t| t.rspec_opts = %w[--color] end -Cucumber::Rake::Task.new(:cucumber) do |t| - string_version = ENV.fetch("RAILS_VERSION", "~> 6.0.0") - version = - if string_version == "master" || string_version.nil? - Float::INFINITY - else - string_version[/\d[\.-]\d/].tr('-', '.') - end - tags = [] - - if version.to_f >= 6.0 - tags << "~@rails_pre_6" - end - - if version.to_f < 6.0 - tags << "~@rails_post_6" - end - - cucumber_flag = tags.map { |tag| "--tag #{tag}" } - - t.cucumber_opts = cucumber_flag -end +Cucumber::Rake::Task.new(:cucumber) namespace :generate do desc "generate a fresh app with rspec installed" diff --git a/cucumber.yml b/cucumber.yml index ec2ab8da9e..161eaa7c36 100644 --- a/cucumber.yml +++ b/cucumber.yml @@ -1,3 +1,3 @@ -default: --require features --format progress --tags ~@wip -pretty: --require features --format pretty --tags ~@wip +default: --require features --format progress --tags 'not @wip' +pretty: --require features --format pretty --tags 'not @wip' wip: --require features --tags @wip diff --git a/features/support/rails_versions.rb b/features/support/rails_versions.rb index e69de29bb2..593f7ad878 100644 --- a/features/support/rails_versions.rb +++ b/features/support/rails_versions.rb @@ -0,0 +1,22 @@ +def rails_version + string_version = ENV.fetch("RAILS_VERSION", "~> 6.0.0") + if string_version == "master" || string_version.nil? + Float::INFINITY + else + string_version[/\d[\.-]\d/].tr('-', '.') + end +end + +Before "@rails_pre_6" do |scenario| + if rails_version.to_f >= 6.0 + warn "Skipping scenario #{scenario.name} on Rails v#{rails_version}" + skip_this_scenario + end +end + +Before "@rails_post_6" do |scenario| + if rails_version.to_f < 6.0 + warn "Skipping scenario #{scenario.name} on Rails v#{rails_version}" + skip_this_scenario + end +end diff --git a/rspec-rails.gemspec b/rspec-rails.gemspec index fc210b7338..da2079243e 100644 --- a/rspec-rails.gemspec +++ b/rspec-rails.gemspec @@ -58,5 +58,5 @@ Gem::Specification.new do |s| s.add_development_dependency 'ammeter', '~> 1.1.5' s.add_development_dependency 'aruba', '~> 0.14.12' - s.add_development_dependency 'cucumber', '~> 1.3.5' + s.add_development_dependency 'cucumber', '>= 3.2', '!= 4.0.0', '< 8.0.0' end