Sha256: 2c59cf4b14bd56f6d660fafa0286c30fdafc58e8ab4cacff5b7e4bc5c221c769

Contents?: true

Size: 899 Bytes

Versions: 2

Compression:

Stored size: 899 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 => '', :status => status}
  end

  private

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rake_check-0.1.6 lib/rake_check/cucumber_checker.rb
rake_check-0.1.5 lib/rake_check/cucumber_checker.rb