Class: MinitestOwrapper::TestResult

Inherits:
Object
  • Object
show all
Defined in:
lib/macruby_test_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTestResult

Returns a new instance of TestResult.



32
33
34
35
36
37
38
39
# File 'lib/macruby_test_result.rb', line 32

def initialize
  @skips = []
  @failures = []
  @errors = []
  @successes = []
  @time = 0
  @assertions = 0
end

Instance Attribute Details

#assertionsObject

Returns the value of attribute assertions.



30
31
32
# File 'lib/macruby_test_result.rb', line 30

def assertions
  @assertions
end

#errorsObject (readonly)

Returns the value of attribute errors.



29
30
31
# File 'lib/macruby_test_result.rb', line 29

def errors
  @errors
end

#failuresObject (readonly)

Returns the value of attribute failures.



29
30
31
# File 'lib/macruby_test_result.rb', line 29

def failures
  @failures
end

#skipsObject (readonly)

Returns the value of attribute skips.



29
30
31
# File 'lib/macruby_test_result.rb', line 29

def skips
  @skips
end

#successesObject (readonly)

Returns the value of attribute successes.



29
30
31
# File 'lib/macruby_test_result.rb', line 29

def successes
  @successes
end

Instance Method Details

#currentObject



41
42
43
44
45
46
47
48
# File 'lib/macruby_test_result.rb', line 41

def current
  case
    when @skip then @skips.last
    when @fail then @failures.last
    when @error then @errors.last
    else Success.new
  end
end

#durationObject



71
72
73
# File 'lib/macruby_test_result.rb', line 71

def duration
  @time
end

#puke(klass, method, e) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/macruby_test_result.rb', line 75

def puke klass, method, e
  line = MiniTest::Unit.new.location(e)
  case e
  when MiniTest::Skip then
    @skips << Skip.new(:klass => klass, :method => method, :line => line, :message => e.message)
    @skip = true
  when MiniTest::Assertion then
    @failures << Failure.new(:klass => klass, :method => method, :line => line, :message => e.message)
    @fail = true
  else
    bt = MiniTest::filter_backtrace(e.backtrace).join("\n    ")
    message = "#{e.class}: #{e.message}\n #{bt}"
    @errors <<  Error.new(:klass => klass, :method => method, :line => line, :message => e.message)
    @error = true
  end
end

#resetObject



62
63
64
65
# File 'lib/macruby_test_result.rb', line 62

def reset
  @successes << Success.new if success? 
  @skip = @fail = @error = false
end

#startObject



50
51
52
# File 'lib/macruby_test_result.rb', line 50

def start
  @start = Time.now
end

#stopObject



54
55
56
# File 'lib/macruby_test_result.rb', line 54

def stop
  @time = Time.now - @start
end

#success?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/macruby_test_result.rb', line 58

def success?
  not (@skip || @fail || @error)
end

#testsObject



67
68
69
# File 'lib/macruby_test_result.rb', line 67

def tests
  [skips, failures, errors, successes].inject(0){|total, assertions| total += assertions.count }
end