Module: Sapphire::Testing::Executable

Included in:
And, Background, Finally, Given, Then, When
Defined in:
lib/sapphire/Testing/Executable.rb

Instance Method Summary collapse

Instance Method Details

#execute(id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sapphire/Testing/Executable.rb', line 4

def execute(id)
  start = Time.now
  begin
    if(self.value.is_a? Pending)
      self.AddResult(ResultTree.new(self.text, TestResult.new("pending", self.text, "Pending", "", Time.now - start, id)))
      puts "(pending) " + self.text + " (" + (Time.now - start).to_s + "s)"
      return
    end
    self.block.call
    self.AddResult(ResultTree.new(self.text, TestResult.new("pass", self.text, "Success", "", Time.now - start, id)))
    puts "(pass) " + self.text + " (" + (Time.now - start).to_s + "s)"
  rescue => msg

    stack = ""
    msg.backtrace.each do |line|
      stack += "\r\n" + line
    end

    self.AddResult(ResultTree.new(self.text, TestResult.new("fail", self.text, msg.message, stack, Time.now - start, id)))
    puts "(fail) " + self.text + ": " + msg.message + " (" + (Time.now - start).to_s + "s)"
  end
end