Class: CucumberAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/shared/adapters/cucumber_adapter.rb

Class Method Summary collapse

Class Method Details

.base_pathObject



28
29
30
# File 'lib/shared/adapters/cucumber_adapter.rb', line 28

def self.base_path
  pluralized
end

.command(project_path, ruby_interpreter, files) ⇒ Object



6
7
8
9
10
# File 'lib/shared/adapters/cucumber_adapter.rb', line 6

def self.command(project_path, ruby_interpreter, files)
  cucumber_command = RubyEnv.ruby_command(project_path, :script => "script/cucumber", :bin => "cucumber",
                                                        :ruby_interpreter => ruby_interpreter)
  "export AUTOTEST=1; #{cucumber_command} -f progress --backtrace -r features/support -r features/step_definitions #{files} -t ~@disabled"
end

.get_sizes(files) ⇒ Object



16
17
18
# File 'lib/shared/adapters/cucumber_adapter.rb', line 16

def self.get_sizes(files)
  files.map { |file| File.stat(file).size }
end

.nameObject



32
33
34
# File 'lib/shared/adapters/cucumber_adapter.rb', line 32

def self.name
  'Cucumber'
end

.pluralizedObject



24
25
26
# File 'lib/shared/adapters/cucumber_adapter.rb', line 24

def self.pluralized
  'features'
end

.requester_portObject



20
21
22
# File 'lib/shared/adapters/cucumber_adapter.rb', line 20

def self.requester_port
  2230
end

.sum_results(text) ⇒ Object

This is an optional method. It gets passed the entire test result and summarizes it. See the tests.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/shared/adapters/cucumber_adapter.rb', line 41

def self.sum_results(text)
  scenarios, steps = parse_scenarios_and_steps(text)

  scenarios_line = "#{scenarios[:total]} scenarios (" + [
    (Color.colorize("#{scenarios[:failed]} failed", :red) if scenarios[:failed] > 0),
    (Color.colorize("#{scenarios[:undefined]} undefined", :orange) if scenarios[:undefined] > 0),
    (Color.colorize("#{scenarios[:passed]} passed", :green) if scenarios[:passed] > 0)
  ].compact.join(', ') + ")"

  steps_line = "#{steps[:total]} steps (" + [
    (Color.colorize("#{steps[:failed]} failed", :red) if steps[:failed] > 0),
    (Color.colorize("#{steps[:skipped]} skipped", :cyan) if steps[:skipped] > 0),
    (Color.colorize("#{steps[:undefined]} undefined", :orange) if steps[:undefined] > 0),
    (Color.colorize("#{steps[:passed]} passed", :green) if steps[:passed] > 0)
  ].compact.join(', ') + ")"

  scenarios_line + "\n" + steps_line
end

.test_files(dir) ⇒ Object



12
13
14
# File 'lib/shared/adapters/cucumber_adapter.rb', line 12

def self.test_files(dir)
  Dir["#{dir}/#{file_pattern}"]
end

.typeObject



36
37
38
# File 'lib/shared/adapters/cucumber_adapter.rb', line 36

def self.type
  pluralized
end