@@ -15,34 +15,34 @@ def woot; end
15
15
end
16
16
17
17
test "prints rerun snippet to run a single failed test" do
18
- @reporter . record ( failed_test )
18
+ record ( failed_test )
19
19
@reporter . report
20
20
21
21
assert_match %r{^bin/rails test .*test/test_unit/reporter_test\. rb:\d +$} , @output . string
22
22
assert_rerun_snippet_count 1
23
23
end
24
24
25
25
test "prints rerun snippet for every failed test" do
26
- @reporter . record ( failed_test )
27
- @reporter . record ( failed_test )
28
- @reporter . record ( failed_test )
26
+ record ( failed_test )
27
+ record ( failed_test )
28
+ record ( failed_test )
29
29
@reporter . report
30
30
31
31
assert_rerun_snippet_count 3
32
32
end
33
33
34
34
test "does not print snippet for successful and skipped tests" do
35
- @reporter . record ( passing_test )
36
- @reporter . record ( skipped_test )
35
+ record ( passing_test )
36
+ record ( skipped_test )
37
37
@reporter . report
38
38
assert_no_match "Failed tests:" , @output . string
39
39
assert_rerun_snippet_count 0
40
40
end
41
41
42
42
test "prints rerun snippet for skipped tests if run in verbose mode" do
43
- verbose = Rails ::TestUnitReporter . new @output , verbose : true
44
- verbose . record ( skipped_test )
45
- verbose . report
43
+ @reporter = Rails ::TestUnitReporter . new @output , verbose : true
44
+ record ( skipped_test )
45
+ @reporter . report
46
46
47
47
assert_rerun_snippet_count 1
48
48
end
@@ -51,7 +51,7 @@ def woot; end
51
51
original_executable = Rails ::TestUnitReporter . executable
52
52
begin
53
53
Rails ::TestUnitReporter . executable = "bin/test"
54
- @reporter . record ( failed_test )
54
+ record ( failed_test )
55
55
@reporter . report
56
56
57
57
assert_match %r{^bin/test .*test/test_unit/reporter_test\. rb:\d +$} , @output . string
@@ -61,44 +61,44 @@ def woot; end
61
61
end
62
62
63
63
test "outputs failures inline" do
64
- @reporter . record ( failed_test )
64
+ record ( failed_test )
65
65
@reporter . report
66
66
67
67
expect = %r{\A F\n \n Failure:\n TestUnitReporterTest::ExampleTest#woot \[ [^\] ]+\] :\n boo\n \n bin/rails test test/test_unit/reporter_test\. rb:\d +\n \n \z }
68
68
assert_match expect , @output . string
69
69
end
70
70
71
71
test "outputs errors inline" do
72
- @reporter . record ( errored_test )
72
+ record ( errored_test )
73
73
@reporter . report
74
74
75
75
expect = %r{\A E\n \n Error:\n TestUnitReporterTest::ExampleTest#woot:\n ArgumentError: wups\n some_test.rb:4\n \n bin/rails test .*test/test_unit/reporter_test\. rb:\d +\n \n \z }
76
76
assert_match expect , @output . string
77
77
end
78
78
79
79
test "outputs skipped tests inline if verbose" do
80
- verbose = Rails ::TestUnitReporter . new @output , verbose : true , output_inline : true
81
- verbose . record ( skipped_test )
82
- verbose . report
80
+ @reporter = Rails ::TestUnitReporter . new @output , verbose : true , output_inline : true
81
+ record ( skipped_test )
82
+ @reporter . report
83
83
84
84
expect = %r{\A TestUnitReporterTest::ExampleTest#woot = 10\. 00 s = S\n \n \n Skipped:\n TestUnitReporterTest::ExampleTest#woot \[ [^\] ]+\] :\n skipchurches, misstemples\n \n bin/rails test test/test_unit/reporter_test\. rb:\d +\n \n \z }
85
85
assert_match expect , @output . string
86
86
end
87
87
88
88
test "does not output rerun snippets after run" do
89
- @reporter . record ( failed_test )
89
+ record ( failed_test )
90
90
@reporter . report
91
91
92
92
assert_no_match "Failed tests:" , @output . string
93
93
end
94
94
95
95
test "fail fast interrupts run on failure" do
96
- fail_fast = Rails ::TestUnitReporter . new @output , fail_fast : true
96
+ @reporter = Rails ::TestUnitReporter . new @output , fail_fast : true
97
97
interrupt_raised = false
98
98
99
99
# Minitest passes through Interrupt, catch it manually.
100
100
begin
101
- fail_fast . record ( failed_test )
101
+ record ( failed_test )
102
102
rescue Interrupt
103
103
interrupt_raised = true
104
104
ensure
@@ -107,12 +107,12 @@ def woot; end
107
107
end
108
108
109
109
test "fail fast interrupts run on error" do
110
- fail_fast = Rails ::TestUnitReporter . new @output , fail_fast : true
110
+ @reporter = Rails ::TestUnitReporter . new @output , fail_fast : true
111
111
interrupt_raised = false
112
112
113
113
# Minitest passes through Interrupt, catch it manually.
114
114
begin
115
- fail_fast . record ( errored_test )
115
+ record ( errored_test )
116
116
rescue Interrupt
117
117
interrupt_raised = true
118
118
ensure
@@ -121,16 +121,16 @@ def woot; end
121
121
end
122
122
123
123
test "fail fast does not interrupt run skips" do
124
- fail_fast = Rails ::TestUnitReporter . new @output , fail_fast : true
124
+ @reporter = Rails ::TestUnitReporter . new @output , fail_fast : true
125
125
126
- fail_fast . record ( skipped_test )
126
+ record ( skipped_test )
127
127
assert_no_match "Failed tests:" , @output . string
128
128
end
129
129
130
130
test "outputs colored passing results" do
131
131
@output . stub ( :tty? , true ) do
132
- colored = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
133
- colored . record ( passing_test )
132
+ @reporter = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
133
+ record ( passing_test )
134
134
135
135
expect = %r{\e \[ 32m\. \e \[ 0m}
136
136
assert_match expect , @output . string
@@ -139,8 +139,8 @@ def woot; end
139
139
140
140
test "outputs colored skipped results" do
141
141
@output . stub ( :tty? , true ) do
142
- colored = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
143
- colored . record ( skipped_test )
142
+ @reporter = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
143
+ record ( skipped_test )
144
144
145
145
expect = %r{\e \[ 33mS\e \[ 0m}
146
146
assert_match expect , @output . string
@@ -149,8 +149,8 @@ def woot; end
149
149
150
150
test "outputs colored failed results" do
151
151
@output . stub ( :tty? , true ) do
152
- colored = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
153
- colored . record ( failed_test )
152
+ @reporter = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
153
+ record ( failed_test )
154
154
155
155
expected = %r{\e \[ 31mF\e \[ 0m\n \n \e \[ 31mFailure:\n TestUnitReporterTest::ExampleTest#woot \[ test/test_unit/reporter_test.rb:\d +\] :\n boo\n \e \[ 0m\n \n bin/rails test .*test/test_unit/reporter_test.rb:\d +\n \n }
156
156
assert_match expected , @output . string
@@ -159,15 +159,20 @@ def woot; end
159
159
160
160
test "outputs colored error results" do
161
161
@output . stub ( :tty? , true ) do
162
- colored = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
163
- colored . record ( errored_test )
162
+ @reporter = Rails ::TestUnitReporter . new @output , color : true , output_inline : true
163
+ record ( errored_test )
164
164
165
165
expected = %r{\e \[ 31mE\e \[ 0m\n \n \e \[ 31mError:\n TestUnitReporterTest::ExampleTest#woot:\n ArgumentError: wups\n some_test.rb:4\n \e \[ 0m}
166
166
assert_match expected , @output . string
167
167
end
168
168
end
169
169
170
170
private
171
+ def record ( test_result )
172
+ @reporter . prerecord ( test_result . klass . constantize , test_result . name )
173
+ @reporter . record ( test_result )
174
+ end
175
+
171
176
def assert_rerun_snippet_count ( snippet_count )
172
177
assert_equal snippet_count , @output . string . scan ( %r{^bin/rails test } ) . size
173
178
end
0 commit comments