Class: WTT::RSpec::SpecTask

Inherits:
RSpec::Core::RakeTask
  • Object
show all
Defined in:
lib/wtt/rspec/spec_task.rb

Overview

Task that runs all specs and produces a map.

Constant Summary collapse

MAP_FORMATTER =
'--require wtt/rspec/formatter --format WTT::RSpec::Formatter --format progress'.freeze

Instance Method Summary collapse

Instance Method Details

#file_inclusion_specificationObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/wtt/rspec/spec_task.rb', line 26

def file_inclusion_specification
  repo = Rugged::Repository.discover(Dir.pwd)
  storage = WTT::Core::Storage.new( repo )
  meta = WTT::Core::MetaData.new( storage )

  opts = {
      meta_data: meta,
      repo: repo,
      test_files: FileList[pattern].sort.map { |file| escape( file ) },
      mapping: WTT::Core::Mapper.new( storage )
  }

  selector = WTT::Core::Selector.new opts
  tests = selector.select_tests!
  tests.to_a.select { |t| t.start_with? 'RSPEC:' }.map { |t| t.gsub(/RSPEC:/, '') }
end

#orig_rspec_optsObject



15
# File 'lib/wtt/rspec/spec_task.rb', line 15

alias_method :orig_rspec_opts, :rspec_opts

#orig_run_taskObject



16
# File 'lib/wtt/rspec/spec_task.rb', line 16

alias_method :orig_run_task, :run_task

#rspec_optsObject



18
19
20
# File 'lib/wtt/rspec/spec_task.rb', line 18

def rspec_opts
  "#{MAP_FORMATTER} #{orig_rspec_opts}"
end

#run_task(verbose) ⇒ Object



22
23
24
# File 'lib/wtt/rspec/spec_task.rb', line 22

def run_task(verbose)
  WTT.with_active_env { orig_run_task verbose }
end