Class: Henry::Task::RspecTask

Inherits:
Henry::Task show all
Defined in:
lib/henry/task/rspec_task.rb

Overview

The Henry Task implementation for Rspec

Instance Attribute Summary

Attributes inherited from Henry::Task

#data, #name

Instance Method Summary (collapse)

Methods inherited from Henry::Task

create, #initialize

Constructor Details

This class inherits a constructor from Henry::Task

Instance Method Details

- (Hash) execute(params)

Executes the CucumberTask and returns its results.

Returns:

  • (Hash)

    the CucumberTask results.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/henry/task/rspec_task.rb', line 19

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)

    {
      code:0,
      message:"OK",
      data:File.open('rspec.out', 'r').read,
      stacktrace:nil
    }
  rescue Exception => e
    {
      code:2,
      message:e.message,
      data:File.open('rspec.out', 'r').read,
      stacktrace:e.backtrace
    }
  end
end