minitest 5.10.3 → 5.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +267 -4
- data/Manifest.txt +3 -0
- data/README.rdoc +123 -22
- data/Rakefile +5 -16
- data/lib/hoe/minitest.rb +0 -4
- data/lib/minitest/assertions.rb +197 -32
- data/lib/minitest/benchmark.rb +39 -8
- data/lib/minitest/expectations.rb +72 -35
- data/lib/minitest/mock.rb +118 -34
- data/lib/minitest/parallel.rb +1 -1
- data/lib/minitest/pride_plugin.rb +1 -1
- data/lib/minitest/spec.rb +27 -9
- data/lib/minitest/test.rb +38 -66
- data/lib/minitest/test_task.rb +305 -0
- data/lib/minitest/unit.rb +5 -8
- data/lib/minitest.rb +271 -52
- data/test/minitest/metametameta.rb +44 -9
- data/test/minitest/test_minitest_assertions.rb +1701 -0
- data/test/minitest/test_minitest_benchmark.rb +2 -2
- data/test/minitest/test_minitest_mock.rb +648 -14
- data/test/minitest/test_minitest_reporter.rb +46 -21
- data/test/minitest/test_minitest_spec.rb +317 -156
- data/test/minitest/test_minitest_test.rb +308 -1146
- data/test/minitest/test_minitest_test_task.rb +46 -0
- data.tar.gz.sig +1 -2
- metadata +36 -24
- metadata.gz.sig +0 -0
@@ -1,35 +1,36 @@
|
|
1
1
|
require "minitest/autorun"
|
2
2
|
require "minitest/metametameta"
|
3
|
+
require "forwardable"
|
4
|
+
|
5
|
+
class Runnable
|
6
|
+
def woot
|
7
|
+
assert true
|
8
|
+
end
|
9
|
+
end
|
3
10
|
|
4
11
|
class TestMinitestReporter < MetaMetaMetaTestCase
|
5
12
|
|
6
13
|
attr_accessor :r, :io
|
7
14
|
|
8
15
|
def new_composite_reporter
|
16
|
+
# Ruby bug in older versions of 2.2 & 2.3 on all platforms
|
17
|
+
# Latest Windows builds were 2.2.6 and 2.3.3. Latest Ruby releases were
|
18
|
+
# 2.2.10 and 2.3.8.
|
19
|
+
skip if windows? && RUBY_VERSION < '2.4'
|
9
20
|
reporter = Minitest::CompositeReporter.new
|
10
21
|
reporter << Minitest::SummaryReporter.new(self.io)
|
11
22
|
reporter << Minitest::ProgressReporter.new(self.io)
|
12
23
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
def reporter.results
|
18
|
-
first.results
|
19
|
-
end
|
20
|
-
|
21
|
-
def reporter.count
|
22
|
-
first.count
|
23
|
-
end
|
24
|
-
|
25
|
-
def reporter.assertions
|
26
|
-
first.assertions
|
27
|
-
end
|
24
|
+
# eg reporter.results -> reporters.first.results
|
25
|
+
reporter.extend Forwardable
|
26
|
+
reporter.delegate :first => :reporters
|
27
|
+
reporter.delegate %i[results count assertions options to_s] => :first
|
28
28
|
|
29
29
|
reporter
|
30
30
|
end
|
31
31
|
|
32
32
|
def setup
|
33
|
+
super
|
33
34
|
self.io = StringIO.new("")
|
34
35
|
self.r = new_composite_reporter
|
35
36
|
end
|
@@ -42,6 +43,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
42
43
|
rescue => e
|
43
44
|
e
|
44
45
|
end)
|
46
|
+
@et = Minitest::Result.from @et
|
45
47
|
end
|
46
48
|
@et
|
47
49
|
end
|
@@ -54,12 +56,13 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
54
56
|
rescue Minitest::Assertion => e
|
55
57
|
e
|
56
58
|
end
|
59
|
+
@ft = Minitest::Result.from @ft
|
57
60
|
end
|
58
61
|
@ft
|
59
62
|
end
|
60
63
|
|
61
64
|
def passing_test
|
62
|
-
@pt ||= Minitest::Test.new(:woot)
|
65
|
+
@pt ||= Minitest::Result.from Minitest::Test.new(:woot)
|
63
66
|
end
|
64
67
|
|
65
68
|
def skip_test
|
@@ -70,6 +73,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
70
73
|
rescue Minitest::Assertion => e
|
71
74
|
e
|
72
75
|
end
|
76
|
+
@st = Minitest::Result.from @st
|
73
77
|
end
|
74
78
|
@st
|
75
79
|
end
|
@@ -77,17 +81,35 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
77
81
|
def test_to_s
|
78
82
|
r.record passing_test
|
79
83
|
r.record fail_test
|
80
|
-
assert_match "woot", r.
|
84
|
+
assert_match "woot", r.to_s
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_options_skip_F
|
88
|
+
r.options[:skip] = "F"
|
89
|
+
|
90
|
+
r.record passing_test
|
91
|
+
r.record fail_test
|
92
|
+
|
93
|
+
refute_match "woot", r.to_s
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_options_skip_E
|
97
|
+
r.options[:skip] = "E"
|
98
|
+
|
99
|
+
r.record passing_test
|
100
|
+
r.record error_test
|
101
|
+
|
102
|
+
refute_match "RuntimeError: no", r.to_s
|
81
103
|
end
|
82
104
|
|
83
105
|
def test_passed_eh_empty
|
84
|
-
|
106
|
+
assert_predicate r, :passed?
|
85
107
|
end
|
86
108
|
|
87
109
|
def test_passed_eh_failure
|
88
110
|
r.results << fail_test
|
89
111
|
|
90
|
-
|
112
|
+
refute_predicate r, :passed?
|
91
113
|
end
|
92
114
|
|
93
115
|
SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details."
|
@@ -97,7 +119,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
97
119
|
|
98
120
|
r.results << error_test
|
99
121
|
|
100
|
-
|
122
|
+
refute_predicate r, :passed?
|
101
123
|
|
102
124
|
r.report
|
103
125
|
|
@@ -117,7 +139,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
117
139
|
end
|
118
140
|
|
119
141
|
def test_passed_eh_skipped_verbose
|
120
|
-
r.
|
142
|
+
r.options[:verbose] = true
|
121
143
|
|
122
144
|
r.start
|
123
145
|
r.results << skip_test
|
@@ -145,6 +167,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
145
167
|
end
|
146
168
|
|
147
169
|
def test_record_fail
|
170
|
+
fail_test = self.fail_test
|
148
171
|
r.record fail_test
|
149
172
|
|
150
173
|
assert_equal "F", io.string
|
@@ -154,6 +177,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
154
177
|
end
|
155
178
|
|
156
179
|
def test_record_error
|
180
|
+
error_test = self.error_test
|
157
181
|
r.record error_test
|
158
182
|
|
159
183
|
assert_equal "E", io.string
|
@@ -163,6 +187,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
163
187
|
end
|
164
188
|
|
165
189
|
def test_record_skip
|
190
|
+
skip_test = self.skip_test
|
166
191
|
r.record skip_test
|
167
192
|
|
168
193
|
assert_equal "S", io.string
|