123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- desc "Creates a test rails app for the specs to run against"
- task :setup do
- require 'rails/version'
- system("mkdir spec/rails") unless File.exists?("spec/rails")
- system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} -m spec/support/rails_template.rb"
- end
- # Run specs and cukes
- desc "Run the full suite"
- task :test => ['spec:unit', 'spec:integration', 'cucumber', 'cucumber:class_reloading']
- namespace :test do
- def run_tests_against(*versions)
- current_version = detect_rails_version if File.exists?("Gemfile.lock")
- versions.each do |version|
- puts
- puts "== Using Rails #{version}"
- cmd "./script/use_rails #{version}"
- cmd "bundle exec rspec spec"
- cmd "bundle exec cucumber features"
- cmd "bundle exec cucumber -p class-reloading features"
- end
- cmd "./script/use_rails #{current_version}" if current_version
- end
- desc "Run the full suite against the important versions of rails"
- task :major_supported_rails do
- run_tests_against "3.0.11", "3.1.3", "3.2.0"
- end
- desc "Alias for major_supported_rails"
- task :all => :major_supported_rails
- end
- require 'rspec/core/rake_task'
- RSpec::Core::RakeTask.new(:spec)
- namespace :spec do
- desc "Run the unit specs"
- RSpec::Core::RakeTask.new(:unit) do |t|
- t.pattern = "spec/unit/**/*_spec.rb"
- end
- desc "Run the integration specs"
- RSpec::Core::RakeTask.new(:integration) do |t|
- t.pattern = "spec/integration/**/*_spec.rb"
- end
- end
- require 'cucumber/rake/task'
- Cucumber::Rake::Task.new(:cucumber) do |t|
- t.profile = 'default'
- end
- namespace :cucumber do
- Cucumber::Rake::Task.new(:wip, "Run the cucumber scenarios with the @wip tag") do |t|
- t.profile = 'wip'
- end
- Cucumber::Rake::Task.new(:class_reloading, "Run the cucumber scenarios that test reloading") do |t|
- t.profile = 'class-reloading'
- end
- end
|