minitest 5.11.3 → 5.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c82c1408c60d4743cf06566256146090f22ab11bc5f024cbf4026fd967d7eb6
4
- data.tar.gz: 93e140e22554c00911e381fa0584c52add681e5adb34bc3e575ee79459d7df6e
3
+ metadata.gz: 76379897c6c77174044638d17a95f50b1b2fddbfde053759d864d8b9b419984b
4
+ data.tar.gz: 7cdedb3e76825894a5577f2c639c541402e1955b1166221530e2937b6c605b81
5
5
  SHA512:
6
- metadata.gz: 3621855d2763f225b2b99061c9eed994040debd9b1b032ebb3318adc42413493458b5c47569b7305954fc7575e870ad97441ce8bec7ddadb92afdd126f1f4bda
7
- data.tar.gz: 19e04c6feff4f3d0cda89fadf4bd3f28415301d8adb2e5650a064cb74df57d8ee9885175738ac967d7a839496ac1c0f1c690627e8a2ca83f71edd6b0edb5b811
6
+ metadata.gz: 5bc0b4b036c2e07d3db6ace79c1d0e51d2aa5cac74a26174ec822f1f987882bffc0165650c86f168ee38b31e9f07d825730b20a1f13b704fc395a9a88a4d9060
7
+ data.tar.gz: e9bdf26bc5a327b72b7a1dbdf701f6cef70561b634a258f932c511f26e7f2886597a05cc4a964749ef16e32529ab6a0cb6d11601f2954c3830444d34c3fcb23b
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,187 @@
1
+ === 5.17.0 / 2022-12-31
2
+
3
+ * 1 minor enhancement:
4
+
5
+ * Refactor setup hooks into a SETUP_METHODS constant. (MSP-Greg)
6
+
7
+ * 3 bug fixes:
8
+
9
+ * Fix kwargs for Mock calls to delegator. (blowmage)
10
+ * Fix kwargs for expectations. (bobmazanec, blowmage)
11
+ * Remove check for .b method. (tenderlove)
12
+
13
+ === 5.16.3 / 2022-08-17
14
+
15
+ * 2 bug fixes:
16
+
17
+ * Fixed exception sanitization by removing TypeError restriction on rescue.
18
+ * Use A instead of deprecated TESTOPTS in rake test:slow. (davidstosik)
19
+
20
+ === 5.16.2 / 2022-07-03
21
+
22
+ * 4 bug fixes:
23
+
24
+ * Added MT_KWARGS_HACK kludge for stub to deal with ruby 2.7 kwargs nastiness. (tsugimoto)
25
+ * In #expect, pop Hash class from args if $MT_KWARGS_HACK. (casperisfine)
26
+ * In above scenario, set expected kwargs (as Objects) based on actual kwargs.
27
+ * Nuke ivars if exception fails to marshal twice (eg better_errors). (irphilli)
28
+
29
+ === 5.16.1 / 2022-06-20
30
+
31
+ * 2 bug fixes:
32
+
33
+ * Apparently adding real kwarg support to mocks/stubs broke some code. Fixed.
34
+ * Use `MT_KWARGS_HACK=1` to activate the kludgy kwargs support w/ caveats.
35
+ * Clarified some doco wrt the block on #stub.
36
+
37
+ === 5.16.0 / 2022-06-14
38
+
39
+ * 2 major enhancements:
40
+
41
+ * Added Minitest::TestTask.
42
+ * Dropping ruby 2.2 - 2.5. 2.6 is DTM soon too.
43
+
44
+ * 11 minor enhancements:
45
+
46
+ * Added --show-skips option to show skips at end of run but not require --verbose. (MSP-Greg)
47
+ * Added Minitest.seed, the random seed used by the run.
48
+ * Calling `srand Minitest.seed` before all shuffles to ensure determinism.
49
+ * Extended #stub to handle kwargs for both block and call args. (SampsonCrowley)
50
+ * Extended Mock#__call to display kwargs.
51
+ * Extended Mock#expect to record kwargs.
52
+ * Extended Mock#method_missing to take kwargs & compare them against expected.
53
+ * Mock#method_missing displays better errors on arity mismatch.
54
+ * Removed minor optimization removing empty suites before run.
55
+ * Simplified test randomization (test order will change even with fixed seed).
56
+ * assert_match now returns the MatchData on success. (Nakilon)
57
+
58
+ * 3 bug fixes:
59
+
60
+ * (Re)Fixed marshalling of exceptions, neutering them in 2 passes.
61
+ * Fixed more problems with rdoc.
62
+ * Had to patch up mock and stub to deal with <=2.7 kwargs oddities
63
+
64
+ === 5.15.0 / 2021-12-14
65
+
66
+ * 1 major enhancement:
67
+
68
+ * assert_throws returns the value returned, if any. (volmer)
69
+
70
+ * 3 minor enhancements:
71
+
72
+ * Added -S <CODES> option to skip reporting of certain types of output
73
+ * Enable Ruby deprecation warnings by default. (casperisfine)
74
+ * Use Etc.nprocessors by default in order to maximize cpu usage. (tonytonyjan)
75
+
76
+ * 6 bug fixes:
77
+
78
+ * Close then unlink tempfiles on Windows. (nobu)
79
+ * Fixed #skip_until for windows paths. (MSP-Greg)
80
+ * Fixed a bunch of tests for jruby and windows. (MSP-Greg)
81
+ * Fixed marshalling of specs if they error. (tenderlove, jeremyevans, et al)
82
+ * Updated deprecation message for block expectations. (blowmage)
83
+ * Use Kernel.warn directly in expectations in case CUT defines their own warn. (firien)
84
+
85
+ === 5.14.4 / 2021-02-23
86
+
87
+ * 1 bug fix:
88
+
89
+ * Fixed deprecation warning using stub with methods using keyword arguments. (Nakilon)
90
+
91
+ === 5.14.3 / 2021-01-05
92
+
93
+ * 1 bug fix:
94
+
95
+ * Bumped require_ruby_version to < 4 (trunk = 3.1).
96
+
97
+ === 5.14.2 / 2020-08-31
98
+
99
+ * 1 bug fix:
100
+
101
+ * Bumped ruby version to include 3.0 (trunk).
102
+
103
+ === 5.14.1 / 2020-05-15
104
+
105
+ * 3 minor enhancements:
106
+
107
+ * Minitest.filter_backtrace returns original backtrace if filter comes back empty.
108
+ * Minitest::BacktraceFilter now returns entire backtrace if $MT_DEBUG set in env.
109
+ * Return true on a successful refute. (jusleg)
110
+
111
+ * 1 bug fix:
112
+
113
+ * Fixed expectation doco to not use global expectations.
114
+
115
+ === 5.14.0 / 2020-01-11
116
+
117
+ * 2 minor enhancements:
118
+
119
+ * Block-assertions (eg assert_output) now error if raised inside the block. (casperisfine)
120
+ * Changed assert_raises to only catch Assertion since that covers Skip and friends.
121
+
122
+ * 3 bug fixes:
123
+
124
+ * Added example for value wrapper with block to Expectations module. (stomar)
125
+ * Fixed use of must/wont_be_within_delta on Expectation instance. (stomar)
126
+ * Renamed UnexpectedError#exception to #error to avoid problems with reraising. (casperisfine)
127
+
128
+ === 5.13.0 / 2019-10-29
129
+
130
+ * 9 minor enhancements:
131
+
132
+ * Added Minitest::Guard#osx?
133
+ * Added examples to documentation for assert_raises. (lxxxvi)
134
+ * Added expectations #path_must_exist and #path_wont_exist. Not thrilled with the names.
135
+ * Added fail_after(year, month, day, msg) to allow time-bombing after a deadline.
136
+ * Added skip_until(year, month, day, msg) to allow deferring until a deadline.
137
+ * Deprecated Minitest::Guard#maglev?
138
+ * Deprecated Minitest::Guard#rubinius?
139
+ * Finally added assert_path_exists and refute_path_exists. (deivid-rodriguez)
140
+ * Refactored and pulled Assertions#things_to_diff out of #diff. (BurdetteLamar)
141
+
142
+ * 3 bug fixes:
143
+
144
+ * Fix autorun bug that affects fork exit status in tests. (dylanahsmith/jhawthorn)
145
+ * Improved documentation for _/value/expect, especially for blocks. (svoop)
146
+ * Support new Proc#to_s format. (ko1)
147
+
148
+ === 5.12.2 / 2019-09-28
149
+
150
+ * 1 bug fix:
151
+
152
+ * After chatting w/ @y-yagi and others, decided to lower support to include ruby 2.2.
153
+
154
+ === 5.12.1 / 2019-09-28
155
+
156
+ * 1 minor enhancement:
157
+
158
+ * Added documentation for Reporter classes. (sshaw)
159
+
160
+ * 3 bug fixes:
161
+
162
+ * Avoid using 'match?' to support older ruby versions. (y-yagi)
163
+ * Fixed broken link to reference on goodness-of-fit testing. (havenwood)
164
+ * Update requirements in readme and Rakefile/hoe spec.
165
+
166
+ === 5.12.0 / 2019-09-22
167
+
168
+ * 8 minor enhancements:
169
+
170
+ * Added a descriptive error if assert_output or assert_raises called without a block. (okuramasafumi)
171
+ * Changed mu_pp_for_diff to make having both \n and \\n easier to debug.
172
+ * Deprecated $N for specifying number of parallel test runners. Use MT_CPU.
173
+ * Deprecated use of global expectations. To be removed from MT6.
174
+ * Extended Assertions#mu_pp to encoding validity output for strings to improve diffs.
175
+ * Extended Assertions#mu_pp to output encoding and validity if invalid to improve diffs.
176
+ * Extended Assertions#mu_pp_for_diff to make escaped newlines more obvious in diffs.
177
+ * Fail gracefully when expectation used outside of `it`.
178
+
179
+ * 3 bug fixes:
180
+
181
+ * Check `option[:filter]` klass before match. Fixes 2.6 warning. (y-yagi)
182
+ * Fixed Assertions#diff from recalculating if set to nil
183
+ * Fixed spec section of readme to not use deprecated global expectations. (CheezItMan)
184
+
1
185
  === 5.11.3 / 2018-01-26
2
186
 
3
187
  * 1 bug fix:
@@ -123,7 +307,7 @@
123
307
  * 2 bug fixes:
124
308
 
125
309
  * Re-release to refresh gem certificate signing. ugh.
126
- * Fixed hoe/minitest to not augment load path if we're actually testing minitest.
310
+ * Fixed hoe/minitest to not augment load path if we're actually testing minitest.
127
311
 
128
312
  === 5.9.0 / 2016-05-16
129
313
 
@@ -147,7 +331,7 @@
147
331
  * 2 bug fixes:
148
332
 
149
333
  * Re-release to refresh gem certificate signing. ugh.
150
- * Fixed hoe/minitest to not augment load path if we're actually testing minitest.
334
+ * Fixed hoe/minitest to not augment load path if we're actually testing minitest.
151
335
 
152
336
  === 5.8.4 / 2016-01-21
153
337
 
@@ -461,7 +645,7 @@ Minitest 5:
461
645
  * Added Minitest::Benchmark.
462
646
  * Your benchmarks need to move to their own subclass.
463
647
  * Benchmarks using the spec DSL have to have "Bench" somewhere in their describe.
464
- * MiniTest::Unit.after_tests moved to Minitest.after_tests
648
+ * MiniTest::Unit.after_tests moved to Minitest.after_run
465
649
  * MiniTest::Unit.autorun is now Minitest.autorun. Just require minitest/autorun pls.
466
650
  * Removed ParallelEach#grep since it isn't used anywhere.
467
651
  * Renamed Runnable#__name__ to Runnable#name (but uses @NAME internally).
@@ -1307,4 +1491,3 @@ back.
1307
1491
  * 1 major enhancement
1308
1492
 
1309
1493
  * Birthday!
1310
-
data/Manifest.txt CHANGED
@@ -17,10 +17,13 @@ lib/minitest/pride.rb
17
17
  lib/minitest/pride_plugin.rb
18
18
  lib/minitest/spec.rb
19
19
  lib/minitest/test.rb
20
+ lib/minitest/test_task.rb
20
21
  lib/minitest/unit.rb
21
22
  test/minitest/metametameta.rb
23
+ test/minitest/test_minitest_assertions.rb
22
24
  test/minitest/test_minitest_benchmark.rb
23
25
  test/minitest/test_minitest_mock.rb
24
26
  test/minitest/test_minitest_reporter.rb
25
27
  test/minitest/test_minitest_spec.rb
26
28
  test/minitest/test_minitest_test.rb
29
+ test/minitest/test_minitest_test_task.rb
data/README.rdoc CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  home :: https://github.com/seattlerb/minitest
4
4
  bugs :: https://github.com/seattlerb/minitest/issues
5
- rdoc :: http://docs.seattlerb.org/minitest
5
+ rdoc :: https://docs.seattlerb.org/minitest
6
6
  vim :: https://github.com/sunaku/vim-ruby-minitest
7
7
  emacs:: https://github.com/arthurnn/minitest-emacs
8
8
 
@@ -70,6 +70,7 @@ extract-method refactorings still apply.
70
70
  * minitest/mock - a simple and clean mock/stub system.
71
71
  * minitest/benchmark - an awesome way to assert your algorithm's performance.
72
72
  * minitest/pride - show your pride in testing!
73
+ * minitest/test_task - a full-featured and clean rake task generator.
73
74
  * Incredibly small and fast runner, but no bells and whistles.
74
75
  * Written by squishy human beings. Software can never be perfect. We will all eventually die.
75
76
 
@@ -126,13 +127,13 @@ Define your tests as methods beginning with +test_+.
126
127
 
127
128
  describe "when asked about cheeseburgers" do
128
129
  it "must respond positively" do
129
- @meme.i_can_has_cheezburger?.must_equal "OHAI!"
130
+ _(@meme.i_can_has_cheezburger?).must_equal "OHAI!"
130
131
  end
131
132
  end
132
133
 
133
134
  describe "when asked about blending possibilities" do
134
135
  it "won't say no" do
135
- @meme.will_it_blend?.wont_match /^no/i
136
+ _(@meme.will_it_blend?).wont_match /^no/i
136
137
  end
137
138
  end
138
139
  end
@@ -186,7 +187,7 @@ Output is tab-delimited to make it easy to paste into a spreadsheet.
186
187
  === Mocks
187
188
 
188
189
  Mocks and stubs defined using terminology by Fowler & Meszaros at
189
- http://www.martinfowler.com/bliki/TestDouble.html:
190
+ https://www.martinfowler.com/bliki/TestDouble.html:
190
191
 
191
192
  "Mocks are pre-programmed with expectations which form a specification
192
193
  of the calls they are expected to receive. They can throw an exception
@@ -220,9 +221,9 @@ verification to ensure they got all the calls they were expecting."
220
221
  end
221
222
  end
222
223
 
223
- **Multi-threading and Mocks**
224
+ ==== Multi-threading and Mocks
224
225
 
225
- Minitest mocks do not support multi-threading if it works, fine, if it doesn't
226
+ Minitest mocks do not support multi-threading. If it works, fine, if it doesn't
226
227
  you can use regular ruby patterns and facilities like local variables. Here's
227
228
  an example of asserting that code inside a thread is run:
228
229
 
@@ -237,7 +238,7 @@ an example of asserting that code inside a thread is run:
237
238
  === Stubs
238
239
 
239
240
  Mocks and stubs are defined using terminology by Fowler & Meszaros at
240
- http://www.martinfowler.com/bliki/TestDouble.html:
241
+ https://www.martinfowler.com/bliki/TestDouble.html:
241
242
 
242
243
  "Stubs provide canned answers to calls made during the test".
243
244
 
@@ -264,9 +265,8 @@ new non-existing method:
264
265
 
265
266
  === Running Your Tests
266
267
 
267
- Ideally, you'll use a rake task to run your tests, either piecemeal or
268
- all at once. Both rake and rails ship with rake tasks for running your
269
- tests. BUT! You don't have to:
268
+ Ideally, you'll use a rake task to run your tests (see below), either
269
+ piecemeal or all at once. BUT! You don't have to:
270
270
 
271
271
  % ruby -Ilib:test test/minitest/test_minitest_test.rb
272
272
  Run options: --seed 37685
@@ -294,6 +294,45 @@ provided via plugins. To see them, simply run with +--help+:
294
294
  -p, --pride Pride. Show your testing pride!
295
295
  -a, --autotest Connect to autotest server.
296
296
 
297
+ === Rake Tasks
298
+
299
+ You can set up a rake task to run all your tests by adding this to your Rakefile:
300
+
301
+ require "minitest/test_task"
302
+
303
+ Minitest::TestTask.create # named test, sensible defaults
304
+
305
+ # or more explicitly:
306
+
307
+ Minitest::TestTask.create(:test) do |t|
308
+ t.libs << "test"
309
+ t.libs << "lib"
310
+ t.warning = false
311
+ t.test_globs = ["test/**/*_test.rb"]
312
+ end
313
+
314
+ task :default => :test
315
+
316
+ Each of these will generate 4 tasks:
317
+
318
+ rake test :: Run the test suite.
319
+ rake test:cmd :: Print out the test command.
320
+ rake test:isolated :: Show which test files fail when run separately.
321
+ rake test:slow :: Show bottom 25 tests sorted by time.
322
+
323
+ === Rake Task Variables
324
+
325
+ There are a bunch of variables you can supply to rake to modify the run.
326
+
327
+ MT_LIB_EXTRAS :: Extra libs to dynamically override/inject for custom runs.
328
+ N :: -n: Tests to run (string or /regexp/).
329
+ X :: -x: Tests to exclude (string or /regexp/).
330
+ A :: Any extra arguments. Honors shell quoting.
331
+ MT_CPU :: How many threads to use for parallel test runs
332
+ SEED :: -s --seed Sets random seed.
333
+ TESTOPTS :: Deprecated, same as A
334
+ FILTER :: Deprecated, same as A
335
+
297
336
  == Writing Extensions
298
337
 
299
338
  To define a plugin, add a file named minitest/XXX_plugin.rb to your
@@ -364,6 +403,39 @@ Using our example above, here is how we might implement MyCI:
364
403
 
365
404
  == FAQ
366
405
 
406
+ === What versions are compatible with what? Or what versions are supported?
407
+
408
+ Minitest is a dependency of rails, which until fairly recently had an
409
+ overzealous backwards compatibility policy. As such, I'm stuck
410
+ supporting versions of ruby that are long past EOL. Hopefully I'll be
411
+ able to support only current versions of ruby sometime in the near
412
+ future.
413
+
414
+ (As of 2022-11-29)
415
+
416
+ Current versions of rails: (https://endoflife.date/rails)
417
+
418
+ | rails | min ruby | rec ruby | minitest | status | EOL Date |
419
+ |-------+----------+----------+----------+----------+------------|
420
+ | 7.0 | >= 2.7 | 3.1 | >= 5.1 | Current | 2025-06-01?|
421
+ | 6.1 | >= 2.5 | 3.0 | >= 5.1 | Maint | 2024-06-01?|
422
+ | 6.0 | >= 2.5 | 2.6 | >= 5.1 | Security | 2023-06-01 |
423
+ | 5.2 | >= 2.2.2 | 2.5 | ~> 5.1 | EOL | 2022-06-01 |
424
+
425
+ Current versions of ruby: (https://endoflife.date/ruby)
426
+
427
+ | ruby | Status | EOL Date |
428
+ |------+---------+------------|
429
+ | 3.1 | Current | 2025-12-25 |
430
+ | 3.0 | Maint | 2024-03-31 |
431
+ | 2.7 | Maint* | 2023-03-31 |
432
+ | 2.6 | EOL | 2022-03-31 |
433
+ | 2.5 | EOL | 2021-03-31 |
434
+
435
+ See also:
436
+
437
+ * https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html
438
+
367
439
  === How to test SimpleDelegates?
368
440
 
369
441
  The following implementation and test:
@@ -379,7 +451,7 @@ The following implementation and test:
379
451
  end
380
452
 
381
453
  it "must respond to work" do
382
- @worker.must_respond_to :work
454
+ _(@worker).must_respond_to :work
383
455
  end
384
456
  end
385
457
 
@@ -469,6 +541,8 @@ able to require minitest and run your tests.
469
541
 
470
542
  == Developing Minitest:
471
543
 
544
+ Minitest requires {Hoe}[https://rubygems.org/gems/hoe].
545
+
472
546
  === Minitest's own tests require UTF-8 external encoding.
473
547
 
474
548
  This is a common problem in Windows, where the default external Encoding is
@@ -547,6 +621,7 @@ minispec-metadata :: Metadata for describe/it blocks & CLI tag filter.
547
621
  E.g. <tt>it "requires JS driver", js: true do</tt> &
548
622
  <tt>ruby test.rb --tag js</tt> runs tests tagged :js.
549
623
  minispec-rails :: Minimal support to use Spec style in Rails 5+.
624
+ mini-apivore :: for swagger based automated API testing.
550
625
  minitest-around :: Around block for minitest. An alternative to
551
626
  setup/teardown dance.
552
627
  minitest-assert_errors :: Adds Minitest assertions to test for errors raised
@@ -563,6 +638,7 @@ minitest-capistrano :: Assertions and expectations for testing
563
638
  Capistrano recipes.
564
639
  minitest-capybara :: Capybara matchers support for minitest unit and
565
640
  spec.
641
+ minitest-cc :: It provides minimal information about code coverage.
566
642
  minitest-chef-handler :: Run Minitest suites as Chef report handlers
567
643
  minitest-ci :: CI reporter plugin for Minitest.
568
644
  minitest-context :: Defines contexts for code reuse in Minitest
@@ -589,12 +665,14 @@ minitest-firemock :: Makes your Minitest mocks more resilient.
589
665
  minitest-focus :: Focus on one test at a time.
590
666
  minitest-gcstats :: A minitest plugin that adds a report of the top
591
667
  tests by number of objects allocated.
668
+ minitest-global_expectations:: Support minitest expectation methods for all objects
592
669
  minitest-great_expectations :: Generally useful additions to minitest's
593
670
  assertions and expectations.
594
671
  minitest-growl :: Test notifier for minitest via growl.
595
672
  minitest-happy :: GLOBALLY ACTIVATE MINITEST PRIDE! RAWR!
596
673
  minitest-have_tag :: Adds Minitest assertions to test for the existence of
597
674
  HTML tags, including contents, within a provided string.
675
+ minitest-heat :: Reporting that builds a heat map of failure locations
598
676
  minitest-hooks :: Around and before_all/after_all/around_all hooks
599
677
  minitest-hyper :: Pretty, single-page HTML reports for your Minitest runs
600
678
  minitest-implicit-subject :: Implicit declaration of the test subject.
@@ -615,6 +693,7 @@ minitest-matchers :: Adds support for RSpec-style matchers to
615
693
  minitest-matchers_vaccine :: Adds assertions that adhere to the matcher spec,
616
694
  but without any expectation infections.
617
695
  minitest-metadata :: Annotate tests with metadata (key-value).
696
+ minitest-mock_expectations :: Provides method call assertions for minitest.
618
697
  minitest-mongoid :: Mongoid assertion matchers for Minitest.
619
698
  minitest-must_not :: Provides must_not as an alias for wont in
620
699
  Minitest.
@@ -658,16 +737,23 @@ minitest-stub-const :: Stub constants for the duration of a block.
658
737
  minitest-tags :: Add tags for minitest.
659
738
  minitest-unordered :: Adds a new assertion to minitest for checking the
660
739
  contents of a collection, ignoring element order.
661
- minitest-vcr :: Automatic cassette managment with Minitest::Spec
740
+ minitest-vcr :: Automatic cassette management with Minitest::Spec
662
741
  and VCR.
742
+ minitest_log :: Adds structured logging, data explication, and verdicts.
663
743
  minitest_owrapper :: Get tests results as a TestResult object.
664
744
  minitest_should :: Shoulda style syntax for minitest test::unit.
665
745
  minitest_tu_shim :: Bridges between test/unit and minitest.
666
746
  mongoid-minitest :: Minitest matchers for Mongoid.
747
+ mutant-minitest :: Minitest integration for mutant.
667
748
  pry-rescue :: A pry plugin w/ minitest support. See
668
749
  pry-rescue/minitest.rb.
750
+ rematch :: Declutter your test files from large hardcoded data
751
+ and update them automatically when your code changes.
669
752
  rspec2minitest :: Easily translate any RSpec matchers to Minitest
670
753
  assertions and expectations.
754
+ stubberry :: Multiple stubbing 'berries', sweet and useful
755
+ stub helpers and assertions. ( stub_must,
756
+ assert_method_called, stubbing ORM objects by id )
671
757
 
672
758
  == Unknown Extensions:
673
759
 
@@ -693,12 +779,11 @@ Authors... Please send me a pull request with a description of your minitest ext
693
779
 
694
780
  == Minitest related goods
695
781
 
696
- * minitest/pride fabric: http://www.spoonflower.com/fabric/3928730-again-by-katie_allen
782
+ * minitest/pride fabric: https://www.spoonflower.com/fabric/3928730-again-by-katie_allen
697
783
 
698
784
  == REQUIREMENTS:
699
785
 
700
- * Ruby 1.8.7+. No magic is involved. I hope.
701
- * NOTE: 1.8 and 1.9 will be dropped in minitest 6+.
786
+ * Ruby 2.3+. No magic is involved. I hope.
702
787
 
703
788
  == INSTALL:
704
789
 
data/Rakefile CHANGED
@@ -11,21 +11,7 @@ Hoe.spec "minitest" do
11
11
 
12
12
  license "MIT"
13
13
 
14
- ## TODO: uncomment this on the last point release on 5.x
15
- #
16
- # self.post_install_message = <<-"EOM"
17
- # NOTE: minitest 5 will be the last in the minitest family to support
18
- # ruby 1.8 and 1.9 (and maybe 2.0?). If you need to keep using 1.8
19
- # or 1.9, you need to pin your dependency to minitest with
20
- # something like "~> 5.0".
21
- #
22
- # Further, minitest 6 will be dropping the following:
23
- #
24
- # + MiniTest (it's been Minitest for *years*)
25
- # + MiniTest::Unit
26
- # + MiniTest::Unit::TestCase
27
- # + assert_send (unless you argue for it well)
28
- # EOM
14
+ require_ruby_version [">= 2.6", "< 4.0"]
29
15
  end
30
16
 
31
17
  desc "Find missing expectations"
@@ -35,7 +21,7 @@ task :specs do
35
21
  require "minitest/spec"
36
22
 
37
23
  pos_prefix, neg_prefix = "must", "wont"
38
- skip_re = /^(must|wont)$|wont_(throw)|must_(block|not?_|nothing|raise$)/x
24
+ skip_re = /^(must|wont)$|wont_(throw)|must_(block|not?_|nothing|send|raise$)/x
39
25
  dont_flip_re = /(must|wont)_(include|respond_to)/
40
26
 
41
27
  map = {
@@ -46,6 +32,8 @@ task :specs do
46
32
  /_includes/ => "_include",
47
33
  /(must|wont)_(.*_of|nil|silent|empty)/ => '\1_be_\2',
48
34
  /must_raises/ => "must_raise",
35
+ /(must|wont)_predicate/ => '\1_be',
36
+ /(must|wont)_path_exists/ => 'path_\1_exist',
49
37
  }
50
38
 
51
39
  expectations = Minitest::Expectations.public_instance_methods.map(&:to_s)
data/lib/hoe/minitest.rb CHANGED
@@ -24,9 +24,5 @@ module Hoe::Minitest
24
24
 
25
25
  def define_minitest_tasks
26
26
  self.testlib = :minitest
27
-
28
- # make sure we use the gemmed minitest on 1.9
29
- self.test_prelude = 'gem "minitest"' unless
30
- minitest? or ENV["MT_NO_ISOLATE"]
31
27
  end
32
28
  end