Class: Ace::TestRunner::Models::TestResult
- Inherits:
-
Object
- Object
- Ace::TestRunner::Models::TestResult
- Defined in:
- lib/ace/test_runner/models/test_result.rb
Overview
Represents the result of a test run
Instance Attribute Summary collapse
-
#assertions ⇒ Object
Returns the value of attribute assertions.
-
#deprecations ⇒ Object
Returns the value of attribute deprecations.
-
#duration ⇒ Object
Returns the value of attribute duration.
-
#end_time ⇒ Object
Returns the value of attribute end_time.
-
#errors ⇒ Object
Returns the value of attribute errors.
-
#failed ⇒ Object
Returns the value of attribute failed.
-
#failures_detail ⇒ Object
Returns the value of attribute failures_detail.
-
#passed ⇒ Object
Returns the value of attribute passed.
-
#raw_output ⇒ Object
Returns the value of attribute raw_output.
-
#skipped ⇒ Object
Returns the value of attribute skipped.
-
#start_time ⇒ Object
Returns the value of attribute start_time.
-
#stderr ⇒ Object
Returns the value of attribute stderr.
Instance Method Summary collapse
- #has_deprecations? ⇒ Boolean
- #has_failures? ⇒ Boolean
- #has_skips? ⇒ Boolean
-
#initialize(attributes = {}) ⇒ TestResult
constructor
A new instance of TestResult.
- #pass_rate ⇒ Object
- #success? ⇒ Boolean
- #summary_line ⇒ Object
- #to_h ⇒ Object
- #to_json(*args) ⇒ Object
- #total_tests ⇒ Object
Constructor Details
#initialize(attributes = {}) ⇒ TestResult
Returns a new instance of TestResult.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/ace/test_runner/models/test_result.rb', line 12 def initialize(attributes = {}) @passed = attributes[:passed] || 0 @failed = attributes[:failed] || 0 @skipped = attributes[:skipped] || 0 @errors = attributes[:errors] || 0 @assertions = attributes[:assertions] || 0 @duration = attributes[:duration] || 0.0 @start_time = attributes[:start_time] @end_time = attributes[:end_time] @failures_detail = attributes[:failures_detail] || [] @deprecations = attributes[:deprecations] || [] @raw_output = attributes[:raw_output] || "" @stderr = attributes[:stderr] || "" end |
Instance Attribute Details
#assertions ⇒ Object
Returns the value of attribute assertions.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def assertions @assertions end |
#deprecations ⇒ Object
Returns the value of attribute deprecations.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def deprecations @deprecations end |
#duration ⇒ Object
Returns the value of attribute duration.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def duration @duration end |
#end_time ⇒ Object
Returns the value of attribute end_time.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def end_time @end_time end |
#errors ⇒ Object
Returns the value of attribute errors.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def errors @errors end |
#failed ⇒ Object
Returns the value of attribute failed.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def failed @failed end |
#failures_detail ⇒ Object
Returns the value of attribute failures_detail.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def failures_detail @failures_detail end |
#passed ⇒ Object
Returns the value of attribute passed.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def passed @passed end |
#raw_output ⇒ Object
Returns the value of attribute raw_output.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def raw_output @raw_output end |
#skipped ⇒ Object
Returns the value of attribute skipped.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def skipped @skipped end |
#start_time ⇒ Object
Returns the value of attribute start_time.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def start_time @start_time end |
#stderr ⇒ Object
Returns the value of attribute stderr.
8 9 10 |
# File 'lib/ace/test_runner/models/test_result.rb', line 8 def stderr @stderr end |
Instance Method Details
#has_deprecations? ⇒ Boolean
43 44 45 |
# File 'lib/ace/test_runner/models/test_result.rb', line 43 def has_deprecations? deprecations.any? end |
#has_failures? ⇒ Boolean
35 36 37 |
# File 'lib/ace/test_runner/models/test_result.rb', line 35 def has_failures? failed > 0 || errors > 0 end |
#has_skips? ⇒ Boolean
39 40 41 |
# File 'lib/ace/test_runner/models/test_result.rb', line 39 def has_skips? skipped > 0 end |
#pass_rate ⇒ Object
47 48 49 50 |
# File 'lib/ace/test_runner/models/test_result.rb', line 47 def pass_rate return 0.0 if total_tests == 0 (passed.to_f / total_tests * 100).round(2) end |
#success? ⇒ Boolean
31 32 33 |
# File 'lib/ace/test_runner/models/test_result.rb', line 31 def success? failed == 0 && errors == 0 end |
#summary_line ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/ace/test_runner/models/test_result.rb', line 52 def summary_line parts = [] parts << "✅ #{passed} passed" if passed > 0 parts << "❌ #{failed} failed" if failed > 0 parts << "💥 #{errors} errors" if errors > 0 parts << "⚠️ #{skipped} skipped" if skipped > 0 parts.empty? ? "No tests executed" : parts.join(", ") end |
#to_h ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/ace/test_runner/models/test_result.rb', line 62 def to_h { passed: passed, failed: failed, skipped: skipped, errors: errors, assertions: assertions, total_tests: total_tests, duration: duration, pass_rate: pass_rate, success: success?, start_time: start_time&.iso8601, end_time: end_time&.iso8601, failures: failures_detail.map(&:to_h), deprecations: deprecations } end |
#to_json(*args) ⇒ Object
80 81 82 |
# File 'lib/ace/test_runner/models/test_result.rb', line 80 def to_json(*args) to_h.to_json(*args) end |
#total_tests ⇒ Object
27 28 29 |
# File 'lib/ace/test_runner/models/test_result.rb', line 27 def total_tests passed + failed + skipped + errors end |