minitest 5.11.3 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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