Class: TestBoosters::Boosters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/test_boosters/boosters/base.rb

Direct Known Subclasses

Cucumber, ExUnit, GoTest, Minitest, Rspec

Instance Method Summary collapse

Constructor Details

#initialize(file_pattern, split_configuration_path, command) ⇒ Base

Returns a new instance of Base.



5
6
7
8
9
# File 'lib/test_boosters/boosters/base.rb', line 5

def initialize(file_pattern, split_configuration_path, command)
  @command = command
  @file_pattern = file_pattern
  @split_configuration_path = split_configuration_path
end

Instance Method Details

#after_jobObject



32
33
34
# File 'lib/test_boosters/boosters/base.rb', line 32

def after_job
  # Do nothing
end

#before_jobObject



28
29
30
# File 'lib/test_boosters/boosters/base.rb', line 28

def before_job
  # Do nothing
end

#display_headerObject



36
37
38
39
40
41
# File 'lib/test_boosters/boosters/base.rb', line 36

def display_header
  version = "Test Booster v#{TestBoosters::VERSION}"
  job_info = "Job #{job_index + 1} out of #{job_count}"

  TestBoosters::Shell.display_title("#{version} - #{job_info}")
end

#distributionObject



43
44
45
46
47
# File 'lib/test_boosters/boosters/base.rb', line 43

def distribution
  @distribution ||= TestBoosters::Files::Distributor.new(@split_configuration_path,
                                                         @file_pattern,
                                                         job_count)
end

#job_countObject



53
54
55
# File 'lib/test_boosters/boosters/base.rb', line 53

def job_count
  @job_count ||= cli_options[:job_count]
end

#job_indexObject



49
50
51
# File 'lib/test_boosters/boosters/base.rb', line 49

def job_index
  @job_index ||= cli_options[:job_index] - 1
end

#runObject

:reek:TooManyStatements



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/test_boosters/boosters/base.rb', line 12

def run
  display_header

  before_job # execute some activities when the before the job starts

  distribution.display_info

  known, leftover = distribution.files_for(job_index)

  exit_status = TestBoosters::Job.run(@command, known, leftover)

  after_job # execute some activities when the job finishes

  exit_status
end