Class: Ruptr::Report
- Inherits:
-
Object
- Object
- Ruptr::Report
- Defined in:
- lib/ruptr/report.rb
Defined Under Namespace
Classes: Builder
Instance Attribute Summary collapse
-
#total_assertions ⇒ Object
readonly
Returns the value of attribute total_assertions.
-
#total_ineffective_assertions ⇒ Object
readonly
Returns the value of attribute total_ineffective_assertions.
-
#total_test_cases ⇒ Object
readonly
Returns the value of attribute total_test_cases.
-
#total_test_groups ⇒ Object
readonly
Returns the value of attribute total_test_groups.
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, v) ⇒ Object
- #bump(k, n = 1) ⇒ Object
- #each_test_case_result ⇒ Object
- #each_test_element_result(klass = TestElement) ⇒ Object
- #each_test_group_result ⇒ Object
- #emit(sink) ⇒ Object
- #failed? ⇒ Boolean
- #freeze ⇒ Object
-
#initialize ⇒ Report
constructor
A new instance of Report.
- #passed? ⇒ Boolean
- #record_result(te, tr) ⇒ Object
- #total_test_cases_by_status(status) ⇒ Object
- #total_test_groups_by_status(status) ⇒ Object
Constructor Details
#initialize ⇒ Report
Returns a new instance of Report.
9 10 11 12 13 14 15 16 17 |
# File 'lib/ruptr/report.rb', line 9 def initialize @results = {} @failed = false @total_assertions = @total_ineffective_assertions = 0 @total_test_cases = 0 @total_test_cases_by_status = Hash.new(0) @total_test_groups = 0 @total_test_groups_by_status = Hash.new(0) end |
Instance Attribute Details
#total_assertions ⇒ Object (readonly)
Returns the value of attribute total_assertions.
19 20 21 |
# File 'lib/ruptr/report.rb', line 19 def total_assertions @total_assertions end |
#total_ineffective_assertions ⇒ Object (readonly)
Returns the value of attribute total_ineffective_assertions.
19 20 21 |
# File 'lib/ruptr/report.rb', line 19 def total_ineffective_assertions @total_ineffective_assertions end |
#total_test_cases ⇒ Object (readonly)
Returns the value of attribute total_test_cases.
19 20 21 |
# File 'lib/ruptr/report.rb', line 19 def total_test_cases @total_test_cases end |
#total_test_groups ⇒ Object (readonly)
Returns the value of attribute total_test_groups.
19 20 21 |
# File 'lib/ruptr/report.rb', line 19 def total_test_groups @total_test_groups end |
Instance Method Details
#[](k) ⇒ Object
42 |
# File 'lib/ruptr/report.rb', line 42 def [](k) = @results[k] |
#[]=(k, v) ⇒ Object
44 45 46 47 |
# File 'lib/ruptr/report.rb', line 44 def []=(k, v) raise ArgumentError unless k.is_a?(Symbol) @results[k] = v end |
#bump(k, n = 1) ⇒ Object
49 50 51 52 |
# File 'lib/ruptr/report.rb', line 49 def bump(k, n = 1) raise ArgumentError unless k.is_a?(Symbol) @results[k] = (v = @results[k]).nil? ? n : v + n end |
#each_test_case_result ⇒ Object
39 |
# File 'lib/ruptr/report.rb', line 39 def each_test_case_result(&) = each_test_element_result(TestCase, &) |
#each_test_element_result(klass = TestElement) ⇒ Object
34 35 36 37 |
# File 'lib/ruptr/report.rb', line 34 def each_test_element_result(klass = TestElement, &) return to_enum __method__, klass unless block_given? @results.each { |te, tr| yield te, tr if te.is_a?(klass) } end |
#each_test_group_result ⇒ Object
40 |
# File 'lib/ruptr/report.rb', line 40 def each_test_group_result(&) = each_test_element_result(TestGroup, &) |
#emit(sink) ⇒ Object
79 80 81 82 83 84 |
# File 'lib/ruptr/report.rb', line 79 def emit(sink) sink.begin_plan({ planned_test_case_count: @total_test_cases }) each_test_group_result { |tg, tr| sink.submit_group(tg, tr) } each_test_case_result { |tc, tr| sink.submit_case(tc, tr) } sink.finish_plan(@results.filter { |k, _v| k.is_a?(Symbol) }) end |
#failed? ⇒ Boolean
23 |
# File 'lib/ruptr/report.rb', line 23 def failed? = @failed |
#freeze ⇒ Object
72 73 74 75 76 77 |
# File 'lib/ruptr/report.rb', line 72 def freeze @results.freeze @total_test_cases_by_status.freeze @total_test_groups_by_status.freeze super end |
#passed? ⇒ Boolean
24 |
# File 'lib/ruptr/report.rb', line 24 def passed? = !failed? |
#record_result(te, tr) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/ruptr/report.rb', line 54 def record_result(te, tr) raise ArgumentError, "result already recorded" if @results[te] case when te.test_case? @total_test_cases += 1 @total_test_cases_by_status[tr.status] += 1 when te.test_group? @total_test_groups += 1 @total_test_groups_by_status[tr.status] += 1 else raise ArgumentError end @total_assertions += tr.assertions @total_ineffective_assertions += tr.ineffective_assertions @failed ||= tr.failed? @results[te] = tr end |
#total_test_cases_by_status(status) ⇒ Object
26 |
# File 'lib/ruptr/report.rb', line 26 def total_test_cases_by_status(status) = @total_test_cases_by_status[status] |
#total_test_groups_by_status(status) ⇒ Object
27 |
# File 'lib/ruptr/report.rb', line 27 def total_test_groups_by_status(status) = @total_test_groups_by_status[status] |