LoginSignup
3
3

More than 5 years have passed since last update.

特定のディレクトリ以下を除外して RSpec を実行する Rake タスク

Posted at
rspec_core_rake_task_with_ignore_patterns.rb
require 'rspec/core/rake_task'
unless defined?(RSpec::Core::RakeTaskWithIgnorePattern)
  class RSpec::Core::RakeTaskWithIgnorePattern < RSpec::Core::RakeTask
    attr_accessor :ignore_patterns

    def setup_ivar(args)
      super

      self.ignore_pattern ||= []
    end

    def files_to_run
      original_files_to_run = super

      unless ENV.has_key?('SPEC')
        original_files_to_run.exclude(*ignore_patterns)
      end

      original_files_to_run
    end
  end
end
with_ignore_patterns.rake
ignore_patterns_file = File.expand_path('.rspec-ignore')
ignore_patterns = File.readable?(ignore_patterns_file) ? [*File.read(ignore_patterns_file).lines] : []
RSpec::Core::RakeTaskWithIgnorePattern.new(test: spec_prerequisites) do |t|
  t.ignore_patterns = ignore_patterns
end
spec/factories/**/*.rb
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3