Sha256: ca834de30ec152f50531e24df2d935853d74086f84ca7611bb381d3ccae853b8

Contents?: true

Size: 1.17 KB

Versions: 5

Compression:

Stored size: 1.17 KB

Contents

require 'rake'
require 'rspec/core/rake_task'
 
module Henry
  
  class Task
    
    # The Henry Task implementation for Rspec
    class RspecTask < Task
 
      # Makes available the spec rake task.
      RSpec::Core::RakeTask.new do |t|
        t.rspec_opts = '--out rspec.out --format documentation --color'
      end
      
      # Executes the CucumberTask and returns its results.
      #
      # @return [Hash] the CucumberTask results.
      def execute(params)
        begin
          File.open('rspec.out', 'w') { |f| }

#          tail_pid = Process.spawn('tail -f rspec.out')

          Rake.application['spec'].invoke 
 
#          Process.kill(:SIGINT, tail_pid)

          {
            name: self.name,
            code: 'OK',
            message: 'OK',
            returnedData: {
              output: File.open('rspec.out', 'r').read
            }
          }
        rescue Exception => e
          {
            name: self.name,
            code: 'ERROR',
            message: 'ERROR',
            returnedData: {
              output: File.open('rspec.out', 'r').read,
              backtrace: e.message
            }
          }
        end
      end

    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
henry-container-0.0.24 lib/henry/task/rspec_task.rb
henry-container-0.0.23 lib/henry/task/rspec_task.rb
henry-container-0.0.22 lib/henry/task/rspec_task.rb
henry-container-0.0.20 lib/henry/task/rspec_task.rb
henry-container-0.0.19 lib/henry/task/rspec_task.rb