Sha256: 9c4842622af8685831875727da47e18adcde1b69e22feb116afa8f6eb36817f8
Contents?: true
Size: 1.03 KB
Versions: 7
Compression:
Stored size: 1.03 KB
Contents
# File: spec/support/tasks.rb require "rake" # Task names should be used in the top-level describe, with an optional # "rake "-prefix for better documentation. Both of these will work: # # 1) describe "foo:bar" do ... end # # 2) describe "rake foo:bar" do ... end # # Favor including "rake "-prefix as in the 2nd example above as it produces # doc output that makes it clear a rake task is under test and how it is # invoked. module TaskExampleGroup extend ActiveSupport::Concern included do let(:task_name) { self.class.top_level_description.sub(/\Arake /, "") } let(:tasks) { Rake::Task } # Make the Rake task available as `task` in your examples: subject(:task) { tasks[task_name] } end end RSpec.configure do |config| # Tag Rake specs with `:task` metadata or put them in the spec/tasks dir config.define_derived_metadata(:file_path => %r{/spec/tasks/}) do |metadata| metadata[:type] = :task end config.include TaskExampleGroup, type: :task config.before(:suite) do Rails.application.load_tasks end end
Version data entries
7 entries across 7 versions & 1 rubygems