Class: Borg::CucumberRunner

Inherits:
Object
  • Object
show all
Includes:
AbstractAdapter
Defined in:
lib/borg/borg_cucumber.rb

Instance Method Summary collapse

Methods included from AbstractAdapter

#add_files_to_redis, #config, #create_db_using_raw_sql, #get_connection_config, #load_environment, #migrate_db, #prepare_databse, #redirect_io, #redirect_stdout, #redis, #remove_file_groups_from_redis, #try_migration_first

Instance Method Details

#add_to_redis(worker_count) ⇒ Object



21
22
23
24
25
26
# File 'lib/borg/borg_cucumber.rb', line 21

def add_to_redis(worker_count)
  feature_files = Dir["#{Rails.root}/features/**/*.feature"].map do |fl|
    fl.gsub(/#{Rails.root}/,'')
  end.sort.in_groups(worker_count, false)
  add_files_to_redis(feature_files,'cucumber')
end

#run(n = 3) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/borg/borg_cucumber.rb', line 5

def run(n = 3)
  redirect_stdout()
  load_environment('cucumber')

  remove_file_groups_from_redis('cucumber',n) do |index,feature_files|
    prepare_databse(index) unless try_migration_first(index)
    full_feature_path = feature_files.split(',').map do |fl|
      Rails.root.to_s + fl
    end
    args = %w(--format progress) + full_feature_path
    failure = Cucumber::Cli::Main.execute(args)
    raise "Cucumber failed" if failure
  end

end