Sha256: a2ea95308e65c71014887c7dd6a6246af81d86aa1d8e37c40d364ecacdde4d18

Contents?: true

Size: 1004 Bytes

Versions: 4

Compression:

Stored size: 1004 Bytes

Contents

require 'colored'
##
# CucumberChecker checks the output for failed Scenarios
#
# @author dmasur
class CucumberChecker
  ##
  # Gives the Checkresult
  #
  # @return [Hash] Checkresult
  # @author dmasur
  def result
    @shell_output = begin
      `export COVERAGE=true; cucumber; export COVERAGE=;`
    rescue Errno::ENOENT
      "Cucumber not found"
    end
    { type: :cucumber, check_output: output, status: status }
  end

  private

  ##
  # Gives the Check Status
  #
  # @return [String] Checkstatus
  # @author dmasur
  def status
    if @shell_output.include? 'scenario'
      regexp = /\d+ scenarios? \((\d+) failed, \d+ passed\)/
      match_data = regexp.match(@shell_output)
      if match_data
        "#{match_data[1]} failed scenarios".red
      else
        "OK".green
      end
    else
      'N/A'
    end
  end

  ##
  # Cucumber Output
  #
  # @author dmasur
  def output
    case status
    when "N/A" then ''
    when 'OK'.green then ''
    else @shell_output
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rake_check-0.3.0 lib/rake_check/cucumber_checker.rb
rake_check-0.2.2 lib/rake_check/cucumber_checker.rb
rake_check-0.2.1 lib/rake_check/cucumber_checker.rb
rake_check-0.2 lib/rake_check/cucumber_checker.rb