rubocop-minitest 0.19.0 → 0.20.1
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 +4 -4
 - data/.circleci/config.yml +0 -3
 - data/.github/ISSUE_TEMPLATE/feature_request.md +1 -1
 - data/.github/workflows/spell_checking.yml +1 -1
 - data/.rubocop.yml +6 -1
 - data/CHANGELOG.md +32 -4
 - data/CONTRIBUTING.md +1 -1
 - data/Gemfile +1 -1
 - data/config/default.yml +6 -0
 - data/docs/antora.yml +1 -1
 - data/docs/modules/ROOT/pages/cops.adoc +1 -0
 - data/docs/modules/ROOT/pages/cops_minitest.adoc +126 -55
 - data/lib/rubocop/cop/minitest/assert_empty.rb +1 -2
 - data/lib/rubocop/cop/minitest/assert_empty_literal.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_equal.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_in_delta.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_includes.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_instance_of.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_kind_of.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_match.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_nil.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_output.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_path_exists.rb +1 -2
 - data/lib/rubocop/cop/minitest/assert_predicate.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_respond_to.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_silent.rb +1 -1
 - data/lib/rubocop/cop/minitest/assert_truthy.rb +1 -2
 - data/lib/rubocop/cop/minitest/assert_with_expected_argument.rb +1 -1
 - data/lib/rubocop/cop/minitest/assertion_in_lifecycle_hook.rb +1 -1
 - data/lib/rubocop/cop/minitest/duplicate_test_run.rb +5 -2
 - data/lib/rubocop/cop/minitest/global_expectations.rb +13 -13
 - data/lib/rubocop/cop/minitest/literal_as_actual_argument.rb +1 -1
 - data/lib/rubocop/cop/minitest/multiple_assertions.rb +1 -1
 - data/lib/rubocop/cop/minitest/no_assertions.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_empty.rb +1 -2
 - data/lib/rubocop/cop/minitest/refute_equal.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_false.rb +1 -2
 - data/lib/rubocop/cop/minitest/refute_in_delta.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_includes.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_instance_of.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_kind_of.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_match.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_nil.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_path_exists.rb +1 -2
 - data/lib/rubocop/cop/minitest/refute_predicate.rb +1 -1
 - data/lib/rubocop/cop/minitest/refute_respond_to.rb +1 -1
 - data/lib/rubocop/cop/minitest/skip_ensure.rb +95 -0
 - data/lib/rubocop/cop/minitest/test_method_name.rb +1 -1
 - data/lib/rubocop/cop/minitest/unreachable_assertion.rb +1 -1
 - data/lib/rubocop/cop/minitest/unspecified_exception.rb +1 -1
 - data/lib/rubocop/cop/minitest_cops.rb +1 -0
 - data/lib/rubocop/cop/mixin/minitest_cop_rule.rb +2 -2
 - data/lib/rubocop/cop/mixin/predicate_assertion_handleable.rb +11 -2
 - data/lib/rubocop/minitest/assert_offense.rb +3 -3
 - data/lib/rubocop/minitest/version.rb +1 -1
 - data/relnotes/v0.12.0.md +1 -1
 - data/relnotes/v0.15.2.md +1 -1
 - data/relnotes/v0.19.0.md +1 -1
 - data/relnotes/v0.19.1.md +5 -0
 - data/relnotes/v0.20.0.md +13 -0
 - data/relnotes/v0.20.1.md +5 -0
 - data/relnotes/v0.9.0.md +1 -1
 - data/rubocop-minitest.gemspec +1 -1
 - data/tasks/cut_release.rake +1 -1
 - metadata +9 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: d780d9c08b215f247a19ffc039d8385b58f63037585c882e3b760cdbe511ae14
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 1ea02089d0b9a3511cbc19a3222f3c55e86a3c17d05bdc05291281df8115500a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 241d069163e52ba35fc4edb2c96d3f7fca6a32fa84ced1feee2abf777d42561503b309371444b81da318c3f07bce469a89e12fc2f6d0295372c3249c41db1ff1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 76ec782b3a226848f6676266dfbd1f06dc0cf2bbd999f01f9c46096def25cfe188c7dddb95ca93ab737812ef6eae81fd8401872b8a243344e1903c50143a699c
         
     | 
    
        data/.circleci/config.yml
    CHANGED
    
    
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: Feature Request
         
     | 
| 
       3 
     | 
    
         
            -
            about: Suggest new RuboCop  
     | 
| 
      
 3 
     | 
    
         
            +
            about: Suggest new RuboCop Minitest features or improvements to existing features.
         
     | 
| 
       4 
4 
     | 
    
         
             
            ---
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            ## Is your feature request related to a problem? Please describe.
         
     | 
| 
         @@ -28,6 +28,6 @@ jobs: 
     | 
|
| 
       28 
28 
     | 
    
         
             
                steps:
         
     | 
| 
       29 
29 
     | 
    
         
             
                  - uses: actions/checkout@v3
         
     | 
| 
       30 
30 
     | 
    
         
             
                  - name: Install
         
     | 
| 
       31 
     | 
    
         
            -
                    run: wget -O - -q https:// 
     | 
| 
      
 31 
     | 
    
         
            +
                    run: wget -O - -q https://raw.githubusercontent.com/client9/misspell/master/install-misspell.sh | sh -s -- -b .
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - name: Misspell
         
     | 
| 
       33 
33 
     | 
    
         
             
                    run: git ls-files --empty-directory | xargs ./misspell -error
         
     | 
    
        data/.rubocop.yml
    CHANGED
    
    | 
         @@ -9,7 +9,7 @@ require: 
     | 
|
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            AllCops:
         
     | 
| 
       11 
11 
     | 
    
         
             
              NewCops: enable
         
     | 
| 
       12 
     | 
    
         
            -
              TargetRubyVersion: 2. 
     | 
| 
      
 12 
     | 
    
         
            +
              TargetRubyVersion: 2.6
         
     | 
| 
       13 
13 
     | 
    
         
             
              SuggestExtensions: false
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            InternalAffairs/NodeMatcherDirective:
         
     | 
| 
         @@ -28,7 +28,12 @@ Naming/PredicateName: 
     | 
|
| 
       28 
28 
     | 
    
         
             
                - def_node_search
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
            Naming/InclusiveLanguage:
         
     | 
| 
      
 31 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 32 
     | 
    
         
            +
              CheckStrings: true
         
     | 
| 
       31 
33 
     | 
    
         
             
              FlaggedTerms:
         
     | 
| 
      
 34 
     | 
    
         
            +
                behaviour:
         
     | 
| 
      
 35 
     | 
    
         
            +
                  Suggestions:
         
     | 
| 
      
 36 
     | 
    
         
            +
                    - behavior
         
     | 
| 
       32 
37 
     | 
    
         
             
                offence:
         
     | 
| 
       33 
38 
     | 
    
         
             
                  Suggestions:
         
     | 
| 
       34 
39 
     | 
    
         
             
                    - offense
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -2,11 +2,37 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ## master (unreleased)
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            ## 0.20.1 (2022-06-13)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ### Bug fixes
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            * [#175](https://github.com/rubocop/rubocop-minitest/pull/175): Fix raise error when using assert with block. ([@ippachi][])
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ## 0.20.0 (2022-05-29)
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ### New features
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            * [#169](https://github.com/rubocop/rubocop-minitest/issues/169): Add new `Minitest/SkipEnsure` cop. ([@koic][])
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ### Bug fixes
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            * [#172](https://github.com/rubocop/rubocop-minitest/issues/172): Fix a false positive for `Minitest/AssertPredicate` and `Minitest/RefutePredicate` when using numbered parameters. ([@koic][])
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            ### Changes
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            * [#168](https://github.com/rubocop/rubocop-minitest/pull/168): **(Compatibility)** Drop Ruby 2.5 support. ([@koic][])
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            ## 0.19.1 (2022-04-10)
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            ### Bug fixes
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            * [#167](https://github.com/rubocop/rubocop-minitest/pull/167): Fix potential for valid Ruby code to be unparsable in `Minitest/DuplicateTestRun` cop. ([@gjtorikian][])
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       5 
31 
     | 
    
         
             
            ## 0.19.0 (2022-04-05)
         
     | 
| 
       6 
32 
     | 
    
         | 
| 
       7 
33 
     | 
    
         
             
            ### New features
         
     | 
| 
       8 
34 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
            * [#164](https://github.com/rubocop/rubocop-minitest/pull/164): Add new `Minitest/DuplicateTestRun cop. ([@ignacio-chiazzo][])
         
     | 
| 
      
 35 
     | 
    
         
            +
            * [#164](https://github.com/rubocop/rubocop-minitest/pull/164): Add new `Minitest/DuplicateTestRun` cop. ([@ignacio-chiazzo][])
         
     | 
| 
       10 
36 
     | 
    
         | 
| 
       11 
37 
     | 
    
         
             
            ## 0.18.0 (2022-03-13)
         
     | 
| 
       12 
38 
     | 
    
         | 
| 
         @@ -51,7 +77,7 @@ 
     | 
|
| 
       51 
77 
     | 
    
         | 
| 
       52 
78 
     | 
    
         
             
            ### Bug fixes
         
     | 
| 
       53 
79 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
            * [#145](https://github.com/rubocop/rubocop-minitest/pull/145): Mark `Minitest/AssertEmptyLiteral` as safe  
     | 
| 
      
 80 
     | 
    
         
            +
            * [#145](https://github.com/rubocop/rubocop-minitest/pull/145): Mark `Minitest/AssertEmptyLiteral` as safe autocorrection. ([@koic][])
         
     | 
| 
       55 
81 
     | 
    
         | 
| 
       56 
82 
     | 
    
         
             
            ## 0.15.1 (2021-09-26)
         
     | 
| 
       57 
83 
     | 
    
         | 
| 
         @@ -91,7 +117,7 @@ 
     | 
|
| 
       91 
117 
     | 
    
         | 
| 
       92 
118 
     | 
    
         
             
            ### Changes
         
     | 
| 
       93 
119 
     | 
    
         | 
| 
       94 
     | 
    
         
            -
            * [#129](https://github.com/rubocop/rubocop-minitest/pull/129): Drop Ruby 2.4 support. ([@koic][])
         
     | 
| 
      
 120 
     | 
    
         
            +
            * [#129](https://github.com/rubocop/rubocop-minitest/pull/129): **(Compatibility)** Drop Ruby 2.4 support. ([@koic][])
         
     | 
| 
       95 
121 
     | 
    
         | 
| 
       96 
122 
     | 
    
         
             
            ## 0.11.1 (2021-03-31)
         
     | 
| 
       97 
123 
     | 
    
         | 
| 
         @@ -161,7 +187,7 @@ 
     | 
|
| 
       161 
187 
     | 
    
         
             
            ### Changes
         
     | 
| 
       162 
188 
     | 
    
         | 
| 
       163 
189 
     | 
    
         
             
            * [#73](https://github.com/rubocop/rubocop-minitest/issues/73): The Minitest department works on file names end with `_test.rb` by default. ([@koic][])
         
     | 
| 
       164 
     | 
    
         
            -
            * [#77](https://github.com/rubocop/rubocop-minitest/pull/77): **( 
     | 
| 
      
 190 
     | 
    
         
            +
            * [#77](https://github.com/rubocop/rubocop-minitest/pull/77): **(Compatibility)** Drop support for Ruby 2.3. ([@koic][])
         
     | 
| 
       165 
191 
     | 
    
         | 
| 
       166 
192 
     | 
    
         
             
            ## 0.8.1 (2020-04-06)
         
     | 
| 
       167 
193 
     | 
    
         | 
| 
         @@ -293,3 +319,5 @@ 
     | 
|
| 
       293 
319 
     | 
    
         
             
            [@ghiculescu]: https://github.com/ghiculescu
         
     | 
| 
       294 
320 
     | 
    
         
             
            [@gi]: https://github.com/gi
         
     | 
| 
       295 
321 
     | 
    
         
             
            [@ignacio-chiazzo]: https://github.com/ignacio-chiazzo
         
     | 
| 
      
 322 
     | 
    
         
            +
            [@gjtorikian]: https://github.com/gjtorikian
         
     | 
| 
      
 323 
     | 
    
         
            +
            [@ippachi]: https://github.com/ippachi
         
     | 
    
        data/CONTRIBUTING.md
    CHANGED
    
    | 
         @@ -49,7 +49,7 @@ $ rubocop -V 
     | 
|
| 
       49 
49 
     | 
    
         
             
            Here are a few examples:
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
            ```
         
     | 
| 
       52 
     | 
    
         
            -
            * [#716](https://github.com/rubocop/rubocop-minitest/issues/716): Fixed a regression in the  
     | 
| 
      
 52 
     | 
    
         
            +
            * [#716](https://github.com/rubocop/rubocop-minitest/issues/716): Fixed a regression in the autocorrection logic of `MethodDefParentheses`. ([@bbatsov][])
         
     | 
| 
       53 
53 
     | 
    
         
             
            * New cop `ElseLayout` checks for odd arrangement of code in the `else` branch of a conditional expression. ([@bbatsov][])
         
     | 
| 
       54 
54 
     | 
    
         
             
            ```
         
     | 
| 
       55 
55 
     | 
    
         | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -9,7 +9,7 @@ gemspec 
     | 
|
| 
       9 
9 
     | 
    
         
             
            gem 'bump', require: false
         
     | 
| 
       10 
10 
     | 
    
         
             
            gem 'rake'
         
     | 
| 
       11 
11 
     | 
    
         
             
            gem 'rubocop', github: 'rubocop/rubocop'
         
     | 
| 
       12 
     | 
    
         
            -
            gem 'rubocop-performance', '~> 1. 
     | 
| 
      
 12 
     | 
    
         
            +
            gem 'rubocop-performance', '~> 1.13.0'
         
     | 
| 
       13 
13 
     | 
    
         
             
            gem 'yard', '~> 0.9'
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            local_gemfile = File.expand_path('Gemfile.local', __dir__)
         
     | 
    
        data/config/default.yml
    CHANGED
    
    | 
         @@ -107,6 +107,7 @@ Minitest/AssertionInLifecycleHook: 
     | 
|
| 
       107 
107 
     | 
    
         | 
| 
       108 
108 
     | 
    
         
             
            Minitest/DuplicateTestRun:
         
     | 
| 
       109 
109 
     | 
    
         
             
              Description: 'This cop detects duplicate test runs caused by one test class inheriting from another.'
         
     | 
| 
      
 110 
     | 
    
         
            +
              StyleGuide: 'https://minitest.rubystyle.guide/#subclassing-test-cases'
         
     | 
| 
       110 
111 
     | 
    
         
             
              Enabled: pending
         
     | 
| 
       111 
112 
     | 
    
         
             
              VersionAdded: '0.19'
         
     | 
| 
       112 
113 
     | 
    
         | 
| 
         @@ -217,6 +218,11 @@ Minitest/RefuteRespondTo: 
     | 
|
| 
       217 
218 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       218 
219 
     | 
    
         
             
              VersionAdded: '0.4'
         
     | 
| 
       219 
220 
     | 
    
         | 
| 
      
 221 
     | 
    
         
            +
            Minitest/SkipEnsure:
         
     | 
| 
      
 222 
     | 
    
         
            +
              Description: 'Checks that `ensure` call even if `skip`.'
         
     | 
| 
      
 223 
     | 
    
         
            +
              Enabled: pending
         
     | 
| 
      
 224 
     | 
    
         
            +
              VersionAdded: '0.20'
         
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
       220 
226 
     | 
    
         
             
            Minitest/TestMethodName:
         
     | 
| 
       221 
227 
     | 
    
         
             
              Description: 'This cop enforces that test method names start with `test_` prefix.'
         
     | 
| 
       222 
228 
     | 
    
         
             
              Enabled: 'pending'
         
     | 
    
        data/docs/antora.yml
    CHANGED
    
    
| 
         @@ -47,6 +47,7 @@ based on the https://minitest.rubystyle.guide/[Minitest Style Guide]. 
     | 
|
| 
       47 
47 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitestrefutepathexists[Minitest/RefutePathExists]
         
     | 
| 
       48 
48 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitestrefutepredicate[Minitest/RefutePredicate]
         
     | 
| 
       49 
49 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitestrefuterespondto[Minitest/RefuteRespondTo]
         
     | 
| 
      
 50 
     | 
    
         
            +
            * xref:cops_minitest.adoc#minitestskipensure[Minitest/SkipEnsure]
         
     | 
| 
       50 
51 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitesttestmethodname[Minitest/TestMethodName]
         
     | 
| 
       51 
52 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitestunreachableassertion[Minitest/UnreachableAssertion]
         
     | 
| 
       52 
53 
     | 
    
         
             
            * xref:cops_minitest.adoc#minitestunspecifiedexception[Minitest/UnspecifiedException]
         
     | 
| 
         @@ -12,8 +12,7 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
            | -
         
     | 
| 
       13 
13 
     | 
    
         
             
            |===
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
            instead of using `assert(object.empty?)`.
         
     | 
| 
      
 15 
     | 
    
         
            +
            Enforces the test to use `assert_empty` instead of using `assert(object.empty?)`.
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
17 
     | 
    
         
             
            === Examples
         
     | 
| 
       19 
18 
     | 
    
         | 
| 
         @@ -44,7 +43,7 @@ assert_empty(object, 'message') 
     | 
|
| 
       44 
43 
     | 
    
         
             
            | 0.11
         
     | 
| 
       45 
44 
     | 
    
         
             
            |===
         
     | 
| 
       46 
45 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 46 
     | 
    
         
            +
            Enforces the test to use `assert_empty`
         
     | 
| 
       48 
47 
     | 
    
         
             
            instead of using `assert_equal([], object)` or `assert_equal({}, object)`.
         
     | 
| 
       49 
48 
     | 
    
         | 
| 
       50 
49 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -71,7 +70,7 @@ assert_empty(object) 
     | 
|
| 
       71 
70 
     | 
    
         
             
            | -
         
     | 
| 
       72 
71 
     | 
    
         
             
            |===
         
     | 
| 
       73 
72 
     | 
    
         | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
      
 73 
     | 
    
         
            +
            Enforces the use of `assert_equal(expected, actual)`
         
     | 
| 
       75 
74 
     | 
    
         
             
            over `assert(expected == actual)`.
         
     | 
| 
       76 
75 
     | 
    
         | 
| 
       77 
76 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -101,7 +100,7 @@ assert_equal("rubocop-minitest", actual) 
     | 
|
| 
       101 
100 
     | 
    
         
             
            | -
         
     | 
| 
       102 
101 
     | 
    
         
             
            |===
         
     | 
| 
       103 
102 
     | 
    
         | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
      
 103 
     | 
    
         
            +
            Enforces the test to use `assert_in_delta`
         
     | 
| 
       105 
104 
     | 
    
         
             
            instead of using `assert_equal` to compare floats.
         
     | 
| 
       106 
105 
     | 
    
         | 
| 
       107 
106 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -133,7 +132,7 @@ assert_in_delta(0.2, actual, 0.001, 'message') 
     | 
|
| 
       133 
132 
     | 
    
         
             
            | -
         
     | 
| 
       134 
133 
     | 
    
         
             
            |===
         
     | 
| 
       135 
134 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
      
 135 
     | 
    
         
            +
            Enforces the test to use `assert_includes`
         
     | 
| 
       137 
136 
     | 
    
         
             
            instead of using `assert(collection.include?(object))`.
         
     | 
| 
       138 
137 
     | 
    
         | 
| 
       139 
138 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -165,7 +164,7 @@ assert_includes(collection, object, 'message') 
     | 
|
| 
       165 
164 
     | 
    
         
             
            | -
         
     | 
| 
       166 
165 
     | 
    
         
             
            |===
         
     | 
| 
       167 
166 
     | 
    
         | 
| 
       168 
     | 
    
         
            -
             
     | 
| 
      
 167 
     | 
    
         
            +
            Enforces the test to use `assert_instance_of(Class, object)`
         
     | 
| 
       169 
168 
     | 
    
         
             
            over `assert(object.instance_of?(Class))`.
         
     | 
| 
       170 
169 
     | 
    
         | 
| 
       171 
170 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -197,7 +196,7 @@ assert_instance_of(Class, object, 'message') 
     | 
|
| 
       197 
196 
     | 
    
         
             
            | -
         
     | 
| 
       198 
197 
     | 
    
         
             
            |===
         
     | 
| 
       199 
198 
     | 
    
         | 
| 
       200 
     | 
    
         
            -
             
     | 
| 
      
 199 
     | 
    
         
            +
            Enforces the test to use `assert_kind_of(Class, object)`
         
     | 
| 
       201 
200 
     | 
    
         
             
            over `assert(object.kind_of?(Class))`.
         
     | 
| 
       202 
201 
     | 
    
         | 
| 
       203 
202 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -229,7 +228,7 @@ assert_kind_of(Class, object, 'message') 
     | 
|
| 
       229 
228 
     | 
    
         
             
            | -
         
     | 
| 
       230 
229 
     | 
    
         
             
            |===
         
     | 
| 
       231 
230 
     | 
    
         | 
| 
       232 
     | 
    
         
            -
             
     | 
| 
      
 231 
     | 
    
         
            +
            Enforces the test to use `assert_match`
         
     | 
| 
       233 
232 
     | 
    
         
             
            instead of using `assert(matcher.match(string))`.
         
     | 
| 
       234 
233 
     | 
    
         | 
| 
       235 
234 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -261,7 +260,7 @@ assert_match(matcher, string, 'message') 
     | 
|
| 
       261 
260 
     | 
    
         
             
            | -
         
     | 
| 
       262 
261 
     | 
    
         
             
            |===
         
     | 
| 
       263 
262 
     | 
    
         | 
| 
       264 
     | 
    
         
            -
             
     | 
| 
      
 263 
     | 
    
         
            +
            Enforces the test to use `assert_nil` instead of using
         
     | 
| 
       265 
264 
     | 
    
         
             
            `assert_equal(nil, something)`, `assert(something.nil?)`, or `assert_predicate(something, :nil?)`.
         
     | 
| 
       266 
265 
     | 
    
         | 
| 
       267 
266 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -297,7 +296,7 @@ assert_nil(actual, 'message') 
     | 
|
| 
       297 
296 
     | 
    
         
             
            | -
         
     | 
| 
       298 
297 
     | 
    
         
             
            |===
         
     | 
| 
       299 
298 
     | 
    
         | 
| 
       300 
     | 
    
         
            -
             
     | 
| 
      
 299 
     | 
    
         
            +
            Checks for opportunities to use `assert_output`.
         
     | 
| 
       301 
300 
     | 
    
         | 
| 
       302 
301 
     | 
    
         
             
            === Examples
         
     | 
| 
       303 
302 
     | 
    
         | 
| 
         @@ -329,8 +328,7 @@ assert_output(expected) { puts object.method } 
     | 
|
| 
       329 
328 
     | 
    
         
             
            | -
         
     | 
| 
       330 
329 
     | 
    
         
             
            |===
         
     | 
| 
       331 
330 
     | 
    
         | 
| 
       332 
     | 
    
         
            -
             
     | 
| 
       333 
     | 
    
         
            -
            instead of using `assert(File.exist?(path))`.
         
     | 
| 
      
 331 
     | 
    
         
            +
            Enforces the test to use `assert_path_exists` instead of using `assert(File.exist?(path))`.
         
     | 
| 
       334 
332 
     | 
    
         | 
| 
       335 
333 
     | 
    
         
             
            === Examples
         
     | 
| 
       336 
334 
     | 
    
         | 
| 
         @@ -361,7 +359,7 @@ assert_path_exists(path, 'message') 
     | 
|
| 
       361 
359 
     | 
    
         
             
            | -
         
     | 
| 
       362 
360 
     | 
    
         
             
            |===
         
     | 
| 
       363 
361 
     | 
    
         | 
| 
       364 
     | 
    
         
            -
             
     | 
| 
      
 362 
     | 
    
         
            +
            Enforces the test to use `assert_predicate`
         
     | 
| 
       365 
363 
     | 
    
         
             
            instead of using `assert(obj.a_predicate_method?)`.
         
     | 
| 
       366 
364 
     | 
    
         | 
| 
       367 
365 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -393,7 +391,7 @@ assert_predicate(obj, :one?, 'message') 
     | 
|
| 
       393 
391 
     | 
    
         
             
            | -
         
     | 
| 
       394 
392 
     | 
    
         
             
            |===
         
     | 
| 
       395 
393 
     | 
    
         | 
| 
       396 
     | 
    
         
            -
             
     | 
| 
      
 394 
     | 
    
         
            +
            Enforces the use of `assert_respond_to(object, :do_something)`
         
     | 
| 
       397 
395 
     | 
    
         
             
            over `assert(object.respond_to?(:do_something))`.
         
     | 
| 
       398 
396 
     | 
    
         | 
| 
       399 
397 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -427,7 +425,7 @@ assert_respond_to(self, :do_something) 
     | 
|
| 
       427 
425 
     | 
    
         
             
            | -
         
     | 
| 
       428 
426 
     | 
    
         
             
            |===
         
     | 
| 
       429 
427 
     | 
    
         | 
| 
       430 
     | 
    
         
            -
             
     | 
| 
      
 428 
     | 
    
         
            +
            Enforces the test to use `assert_silent { ... }`
         
     | 
| 
       431 
429 
     | 
    
         
             
            instead of using `assert_output('', '') { ... }`.
         
     | 
| 
       432 
430 
     | 
    
         | 
| 
       433 
431 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -457,8 +455,7 @@ assert_silent { puts object.do_something } 
     | 
|
| 
       457 
455 
     | 
    
         
             
            | -
         
     | 
| 
       458 
456 
     | 
    
         
             
            |===
         
     | 
| 
       459 
457 
     | 
    
         | 
| 
       460 
     | 
    
         
            -
             
     | 
| 
       461 
     | 
    
         
            -
            instead of using `assert_equal(true, actual)`.
         
     | 
| 
      
 458 
     | 
    
         
            +
            Enforces the test to use `assert(actual)` instead of using `assert_equal(true, actual)`.
         
     | 
| 
       462 
459 
     | 
    
         | 
| 
       463 
460 
     | 
    
         
             
            === Examples
         
     | 
| 
       464 
461 
     | 
    
         | 
| 
         @@ -489,7 +486,7 @@ assert(actual, 'message') 
     | 
|
| 
       489 
486 
     | 
    
         
             
            | -
         
     | 
| 
       490 
487 
     | 
    
         
             
            |===
         
     | 
| 
       491 
488 
     | 
    
         | 
| 
       492 
     | 
    
         
            -
             
     | 
| 
      
 489 
     | 
    
         
            +
            Tries to detect when a user accidentally used
         
     | 
| 
       493 
490 
     | 
    
         
             
            `assert` when they meant to use `assert_equal`.
         
     | 
| 
       494 
491 
     | 
    
         | 
| 
       495 
492 
     | 
    
         
             
            === Safety
         
     | 
| 
         @@ -523,7 +520,7 @@ assert(foo, 'message') 
     | 
|
| 
       523 
520 
     | 
    
         
             
            | -
         
     | 
| 
       524 
521 
     | 
    
         
             
            |===
         
     | 
| 
       525 
522 
     | 
    
         | 
| 
       526 
     | 
    
         
            -
             
     | 
| 
      
 523 
     | 
    
         
            +
            Checks for usage of assertions in lifecycle hooks.
         
     | 
| 
       527 
524 
     | 
    
         | 
| 
       528 
525 
     | 
    
         
             
            === Examples
         
     | 
| 
       529 
526 
     | 
    
         | 
| 
         @@ -560,7 +557,7 @@ If a Minitest class inherits from another class, 
     | 
|
| 
       560 
557 
     | 
    
         
             
            it will also inherit its methods causing Minitest to run the parent's tests methods twice.
         
     | 
| 
       561 
558 
     | 
    
         | 
| 
       562 
559 
     | 
    
         
             
            This cop detects when there are two tests classes, one inherits from the other, and both have tests methods.
         
     | 
| 
       563 
     | 
    
         
            -
            This cop will add an  
     | 
| 
      
 560 
     | 
    
         
            +
            This cop will add an offense to the Child class in such a case.
         
     | 
| 
       564 
561 
     | 
    
         | 
| 
       565 
562 
     | 
    
         
             
            === Examples
         
     | 
| 
       566 
563 
     | 
    
         | 
| 
         @@ -601,6 +598,10 @@ class ChildTest 
     | 
|
| 
       601 
598 
     | 
    
         
             
            end
         
     | 
| 
       602 
599 
     | 
    
         
             
            ----
         
     | 
| 
       603 
600 
     | 
    
         | 
| 
      
 601 
     | 
    
         
            +
            === References
         
     | 
| 
      
 602 
     | 
    
         
            +
             
     | 
| 
      
 603 
     | 
    
         
            +
            * https://minitest.rubystyle.guide/#subclassing-test-cases
         
     | 
| 
      
 604 
     | 
    
         
            +
             
     | 
| 
       604 
605 
     | 
    
         
             
            == Minitest/GlobalExpectations
         
     | 
| 
       605 
606 
     | 
    
         | 
| 
       606 
607 
     | 
    
         
             
            |===
         
     | 
| 
         @@ -613,12 +614,12 @@ end 
     | 
|
| 
       613 
614 
     | 
    
         
             
            | 0.16
         
     | 
| 
       614 
615 
     | 
    
         
             
            |===
         
     | 
| 
       615 
616 
     | 
    
         | 
| 
       616 
     | 
    
         
            -
             
     | 
| 
      
 617 
     | 
    
         
            +
            Checks for deprecated global expectations
         
     | 
| 
       617 
618 
     | 
    
         
             
            and autocorrects them to use expect format.
         
     | 
| 
       618 
619 
     | 
    
         | 
| 
       619 
620 
     | 
    
         
             
            === Examples
         
     | 
| 
       620 
621 
     | 
    
         | 
| 
       621 
     | 
    
         
            -
            ==== EnforcedStyle:  
     | 
| 
      
 622 
     | 
    
         
            +
            ==== EnforcedStyle: any (default)
         
     | 
| 
       622 
623 
     | 
    
         | 
| 
       623 
624 
     | 
    
         
             
            [source,ruby]
         
     | 
| 
       624 
625 
     | 
    
         
             
            ----
         
     | 
| 
         @@ -627,6 +628,11 @@ musts.must_equal expected_musts 
     | 
|
| 
       627 
628 
     | 
    
         
             
            wonts.wont_match expected_wonts
         
     | 
| 
       628 
629 
     | 
    
         
             
            musts.must_raise TypeError
         
     | 
| 
       629 
630 
     | 
    
         | 
| 
      
 631 
     | 
    
         
            +
            # good
         
     | 
| 
      
 632 
     | 
    
         
            +
            _(musts).must_equal expected_musts
         
     | 
| 
      
 633 
     | 
    
         
            +
            _(wonts).wont_match expected_wonts
         
     | 
| 
      
 634 
     | 
    
         
            +
            _ { musts }.must_raise TypeError
         
     | 
| 
      
 635 
     | 
    
         
            +
             
     | 
| 
       630 
636 
     | 
    
         
             
            expect(musts).must_equal expected_musts
         
     | 
| 
       631 
637 
     | 
    
         
             
            expect(wonts).wont_match expected_wonts
         
     | 
| 
       632 
638 
     | 
    
         
             
            expect { musts }.must_raise TypeError
         
     | 
| 
         @@ -634,14 +640,9 @@ expect { musts }.must_raise TypeError 
     | 
|
| 
       634 
640 
     | 
    
         
             
            value(musts).must_equal expected_musts
         
     | 
| 
       635 
641 
     | 
    
         
             
            value(wonts).wont_match expected_wonts
         
     | 
| 
       636 
642 
     | 
    
         
             
            value { musts }.must_raise TypeError
         
     | 
| 
       637 
     | 
    
         
            -
             
     | 
| 
       638 
     | 
    
         
            -
            # good
         
     | 
| 
       639 
     | 
    
         
            -
            _(musts).must_equal expected_musts
         
     | 
| 
       640 
     | 
    
         
            -
            _(wonts).wont_match expected_wonts
         
     | 
| 
       641 
     | 
    
         
            -
            _ { musts }.must_raise TypeError
         
     | 
| 
       642 
643 
     | 
    
         
             
            ----
         
     | 
| 
       643 
644 
     | 
    
         | 
| 
       644 
     | 
    
         
            -
            ==== EnforcedStyle:  
     | 
| 
      
 645 
     | 
    
         
            +
            ==== EnforcedStyle: _
         
     | 
| 
       645 
646 
     | 
    
         | 
| 
       646 
647 
     | 
    
         
             
            [source,ruby]
         
     | 
| 
       647 
648 
     | 
    
         
             
            ----
         
     | 
| 
         @@ -650,11 +651,6 @@ musts.must_equal expected_musts 
     | 
|
| 
       650 
651 
     | 
    
         
             
            wonts.wont_match expected_wonts
         
     | 
| 
       651 
652 
     | 
    
         
             
            musts.must_raise TypeError
         
     | 
| 
       652 
653 
     | 
    
         | 
| 
       653 
     | 
    
         
            -
            # good
         
     | 
| 
       654 
     | 
    
         
            -
            _(musts).must_equal expected_musts
         
     | 
| 
       655 
     | 
    
         
            -
            _(wonts).wont_match expected_wonts
         
     | 
| 
       656 
     | 
    
         
            -
            _ { musts }.must_raise TypeError
         
     | 
| 
       657 
     | 
    
         
            -
             
     | 
| 
       658 
654 
     | 
    
         
             
            expect(musts).must_equal expected_musts
         
     | 
| 
       659 
655 
     | 
    
         
             
            expect(wonts).wont_match expected_wonts
         
     | 
| 
       660 
656 
     | 
    
         
             
            expect { musts }.must_raise TypeError
         
     | 
| 
         @@ -662,6 +658,11 @@ expect { musts }.must_raise TypeError 
     | 
|
| 
       662 
658 
     | 
    
         
             
            value(musts).must_equal expected_musts
         
     | 
| 
       663 
659 
     | 
    
         
             
            value(wonts).wont_match expected_wonts
         
     | 
| 
       664 
660 
     | 
    
         
             
            value { musts }.must_raise TypeError
         
     | 
| 
      
 661 
     | 
    
         
            +
             
     | 
| 
      
 662 
     | 
    
         
            +
            # good
         
     | 
| 
      
 663 
     | 
    
         
            +
            _(musts).must_equal expected_musts
         
     | 
| 
      
 664 
     | 
    
         
            +
            _(wonts).wont_match expected_wonts
         
     | 
| 
      
 665 
     | 
    
         
            +
            _ { musts }.must_raise TypeError
         
     | 
| 
       665 
666 
     | 
    
         
             
            ----
         
     | 
| 
       666 
667 
     | 
    
         | 
| 
       667 
668 
     | 
    
         
             
            ==== EnforcedStyle: expect
         
     | 
| 
         @@ -740,7 +741,7 @@ value { musts }.must_raise TypeError 
     | 
|
| 
       740 
741 
     | 
    
         
             
            | -
         
     | 
| 
       741 
742 
     | 
    
         
             
            |===
         
     | 
| 
       742 
743 
     | 
    
         | 
| 
       743 
     | 
    
         
            -
             
     | 
| 
      
 744 
     | 
    
         
            +
            Enforces correct order of expected and
         
     | 
| 
       744 
745 
     | 
    
         
             
            actual arguments for `assert_equal`.
         
     | 
| 
       745 
746 
     | 
    
         | 
| 
       746 
747 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -774,7 +775,7 @@ assert_equal [1, 2], foo, 'message' 
     | 
|
| 
       774 
775 
     | 
    
         
             
            | -
         
     | 
| 
       775 
776 
     | 
    
         
             
            |===
         
     | 
| 
       776 
777 
     | 
    
         | 
| 
       777 
     | 
    
         
            -
             
     | 
| 
      
 778 
     | 
    
         
            +
            Checks if test cases contain too many assertion calls.
         
     | 
| 
       778 
779 
     | 
    
         
             
            The maximum allowed assertion calls is configurable.
         
     | 
| 
       779 
780 
     | 
    
         | 
| 
       780 
781 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -825,7 +826,7 @@ end 
     | 
|
| 
       825 
826 
     | 
    
         
             
            | -
         
     | 
| 
       826 
827 
     | 
    
         
             
            |===
         
     | 
| 
       827 
828 
     | 
    
         | 
| 
       828 
     | 
    
         
            -
             
     | 
| 
      
 829 
     | 
    
         
            +
            Checks if test cases contain any assertion calls.
         
     | 
| 
       829 
830 
     | 
    
         | 
| 
       830 
831 
     | 
    
         
             
            === Examples
         
     | 
| 
       831 
832 
     | 
    
         | 
| 
         @@ -857,8 +858,7 @@ end 
     | 
|
| 
       857 
858 
     | 
    
         
             
            | -
         
     | 
| 
       858 
859 
     | 
    
         
             
            |===
         
     | 
| 
       859 
860 
     | 
    
         | 
| 
       860 
     | 
    
         
            -
             
     | 
| 
       861 
     | 
    
         
            -
            using `refute(object.empty?)`.
         
     | 
| 
      
 861 
     | 
    
         
            +
            Enforces to use `refute_empty` instead of using `refute(object.empty?)`.
         
     | 
| 
       862 
862 
     | 
    
         | 
| 
       863 
863 
     | 
    
         
             
            === Examples
         
     | 
| 
       864 
864 
     | 
    
         | 
| 
         @@ -889,7 +889,7 @@ refute_empty(object, 'message') 
     | 
|
| 
       889 
889 
     | 
    
         
             
            | -
         
     | 
| 
       890 
890 
     | 
    
         
             
            |===
         
     | 
| 
       891 
891 
     | 
    
         | 
| 
       892 
     | 
    
         
            -
             
     | 
| 
      
 892 
     | 
    
         
            +
            Enforces the use of `refute_equal(expected, object)`
         
     | 
| 
       893 
893 
     | 
    
         
             
            over `assert(expected != actual)` or `assert(! expected == actual)`.
         
     | 
| 
       894 
894 
     | 
    
         | 
| 
       895 
895 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -920,8 +920,7 @@ refute_equal("rubocop-minitest", actual) 
     | 
|
| 
       920 
920 
     | 
    
         
             
            | -
         
     | 
| 
       921 
921 
     | 
    
         
             
            |===
         
     | 
| 
       922 
922 
     | 
    
         | 
| 
       923 
     | 
    
         
            -
             
     | 
| 
       924 
     | 
    
         
            -
            over `assert_equal(false, object)`.
         
     | 
| 
      
 923 
     | 
    
         
            +
            Enforces the use of `refute(object)` over `assert_equal(false, object)`.
         
     | 
| 
       925 
924 
     | 
    
         | 
| 
       926 
925 
     | 
    
         
             
            === Examples
         
     | 
| 
       927 
926 
     | 
    
         | 
| 
         @@ -955,7 +954,7 @@ refute(actual, 'message') 
     | 
|
| 
       955 
954 
     | 
    
         
             
            | -
         
     | 
| 
       956 
955 
     | 
    
         
             
            |===
         
     | 
| 
       957 
956 
     | 
    
         | 
| 
       958 
     | 
    
         
            -
             
     | 
| 
      
 957 
     | 
    
         
            +
            Enforces the test to use `refute_in_delta`
         
     | 
| 
       959 
958 
     | 
    
         
             
            instead of using `refute_equal` to compare floats.
         
     | 
| 
       960 
959 
     | 
    
         | 
| 
       961 
960 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -987,7 +986,7 @@ refute_in_delta(0.2, actual, 0.001, 'message') 
     | 
|
| 
       987 
986 
     | 
    
         
             
            | -
         
     | 
| 
       988 
987 
     | 
    
         
             
            |===
         
     | 
| 
       989 
988 
     | 
    
         | 
| 
       990 
     | 
    
         
            -
             
     | 
| 
      
 989 
     | 
    
         
            +
            Enforces the test to use `refute_includes`
         
     | 
| 
       991 
990 
     | 
    
         
             
            instead of using `refute(collection.include?(object))`.
         
     | 
| 
       992 
991 
     | 
    
         | 
| 
       993 
992 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1019,7 +1018,7 @@ refute_includes(collection, object, 'message') 
     | 
|
| 
       1019 
1018 
     | 
    
         
             
            | -
         
     | 
| 
       1020 
1019 
     | 
    
         
             
            |===
         
     | 
| 
       1021 
1020 
     | 
    
         | 
| 
       1022 
     | 
    
         
            -
             
     | 
| 
      
 1021 
     | 
    
         
            +
            Enforces the use of `refute_instance_of(Class, object)`
         
     | 
| 
       1023 
1022 
     | 
    
         
             
            over `refute(object.instance_of?(Class))`.
         
     | 
| 
       1024 
1023 
     | 
    
         | 
| 
       1025 
1024 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1051,7 +1050,7 @@ refute_instance_of(Class, object, 'message') 
     | 
|
| 
       1051 
1050 
     | 
    
         
             
            | -
         
     | 
| 
       1052 
1051 
     | 
    
         
             
            |===
         
     | 
| 
       1053 
1052 
     | 
    
         | 
| 
       1054 
     | 
    
         
            -
             
     | 
| 
      
 1053 
     | 
    
         
            +
            Enforces the use of `refute_kind_of(Class, object)`
         
     | 
| 
       1055 
1054 
     | 
    
         
             
            over `refute(object.kind_of?(Class))`.
         
     | 
| 
       1056 
1055 
     | 
    
         | 
| 
       1057 
1056 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1083,7 +1082,7 @@ refute_kind_of(Class, object, 'message') 
     | 
|
| 
       1083 
1082 
     | 
    
         
             
            | -
         
     | 
| 
       1084 
1083 
     | 
    
         
             
            |===
         
     | 
| 
       1085 
1084 
     | 
    
         | 
| 
       1086 
     | 
    
         
            -
             
     | 
| 
      
 1085 
     | 
    
         
            +
            Enforces the test to use `refute_match`
         
     | 
| 
       1087 
1086 
     | 
    
         
             
            instead of using `refute(matcher.match(string))`.
         
     | 
| 
       1088 
1087 
     | 
    
         | 
| 
       1089 
1088 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1115,7 +1114,7 @@ refute_match(matcher, string, 'message') 
     | 
|
| 
       1115 
1114 
     | 
    
         
             
            | -
         
     | 
| 
       1116 
1115 
     | 
    
         
             
            |===
         
     | 
| 
       1117 
1116 
     | 
    
         | 
| 
       1118 
     | 
    
         
            -
             
     | 
| 
      
 1117 
     | 
    
         
            +
            Enforces the test to use `refute_nil` instead of using
         
     | 
| 
       1119 
1118 
     | 
    
         
             
            `refute_equal(nil, something)`, `refute(something.nil?)`, or `refute_predicate(something, :nil?)`.
         
     | 
| 
       1120 
1119 
     | 
    
         | 
| 
       1121 
1120 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1151,8 +1150,7 @@ refute_nil(actual, 'message') 
     | 
|
| 
       1151 
1150 
     | 
    
         
             
            | -
         
     | 
| 
       1152 
1151 
     | 
    
         
             
            |===
         
     | 
| 
       1153 
1152 
     | 
    
         | 
| 
       1154 
     | 
    
         
            -
             
     | 
| 
       1155 
     | 
    
         
            -
            instead of using `refute(File.exist?(path))`.
         
     | 
| 
      
 1153 
     | 
    
         
            +
            Enforces the test to use `refute_path_exists` instead of using `refute(File.exist?(path))`.
         
     | 
| 
       1156 
1154 
     | 
    
         | 
| 
       1157 
1155 
     | 
    
         
             
            === Examples
         
     | 
| 
       1158 
1156 
     | 
    
         | 
| 
         @@ -1183,7 +1181,7 @@ refute_path_exists(path, 'message') 
     | 
|
| 
       1183 
1181 
     | 
    
         
             
            | -
         
     | 
| 
       1184 
1182 
     | 
    
         
             
            |===
         
     | 
| 
       1185 
1183 
     | 
    
         | 
| 
       1186 
     | 
    
         
            -
             
     | 
| 
      
 1184 
     | 
    
         
            +
            Enforces the test to use `refute_predicate`
         
     | 
| 
       1187 
1185 
     | 
    
         
             
            instead of using `refute(obj.a_predicate_method?)`.
         
     | 
| 
       1188 
1186 
     | 
    
         | 
| 
       1189 
1187 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1215,7 +1213,7 @@ refute_predicate(obj, :one?, 'message') 
     | 
|
| 
       1215 
1213 
     | 
    
         
             
            | -
         
     | 
| 
       1216 
1214 
     | 
    
         
             
            |===
         
     | 
| 
       1217 
1215 
     | 
    
         | 
| 
       1218 
     | 
    
         
            -
             
     | 
| 
      
 1216 
     | 
    
         
            +
            Enforces the test to use `refute_respond_to(object, :do_something)`
         
     | 
| 
       1219 
1217 
     | 
    
         
             
            over `refute(object.respond_to?(:do_something))`.
         
     | 
| 
       1220 
1218 
     | 
    
         | 
| 
       1221 
1219 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1237,6 +1235,79 @@ refute_respond_to(self, :do_something) 
     | 
|
| 
       1237 
1235 
     | 
    
         | 
| 
       1238 
1236 
     | 
    
         
             
            * https://minitest.rubystyle.guide#refute-respond-to
         
     | 
| 
       1239 
1237 
     | 
    
         | 
| 
      
 1238 
     | 
    
         
            +
            == Minitest/SkipEnsure
         
     | 
| 
      
 1239 
     | 
    
         
            +
             
     | 
| 
      
 1240 
     | 
    
         
            +
            |===
         
     | 
| 
      
 1241 
     | 
    
         
            +
            | Enabled by default | Safe | Supports autocorrection | Version Added | Version Changed
         
     | 
| 
      
 1242 
     | 
    
         
            +
             
     | 
| 
      
 1243 
     | 
    
         
            +
            | Pending
         
     | 
| 
      
 1244 
     | 
    
         
            +
            | Yes
         
     | 
| 
      
 1245 
     | 
    
         
            +
            | No
         
     | 
| 
      
 1246 
     | 
    
         
            +
            | 0.20
         
     | 
| 
      
 1247 
     | 
    
         
            +
            | -
         
     | 
| 
      
 1248 
     | 
    
         
            +
            |===
         
     | 
| 
      
 1249 
     | 
    
         
            +
             
     | 
| 
      
 1250 
     | 
    
         
            +
            Checks that `ensure` call even if `skip`. It is unexpected that `ensure` will be called when skipping test.
         
     | 
| 
      
 1251 
     | 
    
         
            +
            If conditional `skip` is used, it checks that `ensure` is also called conditionally.
         
     | 
| 
      
 1252 
     | 
    
         
            +
             
     | 
| 
      
 1253 
     | 
    
         
            +
            On the other hand, it accepts `skip` used in `rescue` because `ensure` may be teardown process to `begin`
         
     | 
| 
      
 1254 
     | 
    
         
            +
            setup process.
         
     | 
| 
      
 1255 
     | 
    
         
            +
             
     | 
| 
      
 1256 
     | 
    
         
            +
            === Examples
         
     | 
| 
      
 1257 
     | 
    
         
            +
             
     | 
| 
      
 1258 
     | 
    
         
            +
            [source,ruby]
         
     | 
| 
      
 1259 
     | 
    
         
            +
            ----
         
     | 
| 
      
 1260 
     | 
    
         
            +
            # bad
         
     | 
| 
      
 1261 
     | 
    
         
            +
            def test_skip
         
     | 
| 
      
 1262 
     | 
    
         
            +
              skip 'This test is skipped.'
         
     | 
| 
      
 1263 
     | 
    
         
            +
             
     | 
| 
      
 1264 
     | 
    
         
            +
              assert 'foo'.present?
         
     | 
| 
      
 1265 
     | 
    
         
            +
            ensure
         
     | 
| 
      
 1266 
     | 
    
         
            +
              do_something
         
     | 
| 
      
 1267 
     | 
    
         
            +
            end
         
     | 
| 
      
 1268 
     | 
    
         
            +
             
     | 
| 
      
 1269 
     | 
    
         
            +
            # bad
         
     | 
| 
      
 1270 
     | 
    
         
            +
            def test_conditional_skip
         
     | 
| 
      
 1271 
     | 
    
         
            +
              skip 'This test is skipped.' if condition
         
     | 
| 
      
 1272 
     | 
    
         
            +
             
     | 
| 
      
 1273 
     | 
    
         
            +
              assert do_something
         
     | 
| 
      
 1274 
     | 
    
         
            +
            ensure
         
     | 
| 
      
 1275 
     | 
    
         
            +
              do_teardown
         
     | 
| 
      
 1276 
     | 
    
         
            +
            end
         
     | 
| 
      
 1277 
     | 
    
         
            +
             
     | 
| 
      
 1278 
     | 
    
         
            +
            # good
         
     | 
| 
      
 1279 
     | 
    
         
            +
            def test_skip
         
     | 
| 
      
 1280 
     | 
    
         
            +
              skip 'This test is skipped.'
         
     | 
| 
      
 1281 
     | 
    
         
            +
             
     | 
| 
      
 1282 
     | 
    
         
            +
              begin
         
     | 
| 
      
 1283 
     | 
    
         
            +
                assert 'foo'.present?
         
     | 
| 
      
 1284 
     | 
    
         
            +
              ensure
         
     | 
| 
      
 1285 
     | 
    
         
            +
                do_something
         
     | 
| 
      
 1286 
     | 
    
         
            +
              end
         
     | 
| 
      
 1287 
     | 
    
         
            +
            end
         
     | 
| 
      
 1288 
     | 
    
         
            +
             
     | 
| 
      
 1289 
     | 
    
         
            +
            # good
         
     | 
| 
      
 1290 
     | 
    
         
            +
            def test_conditional_skip
         
     | 
| 
      
 1291 
     | 
    
         
            +
              skip 'This test is skipped.' if condition
         
     | 
| 
      
 1292 
     | 
    
         
            +
             
     | 
| 
      
 1293 
     | 
    
         
            +
              assert do_something
         
     | 
| 
      
 1294 
     | 
    
         
            +
            ensure
         
     | 
| 
      
 1295 
     | 
    
         
            +
              if condition
         
     | 
| 
      
 1296 
     | 
    
         
            +
                do_teardown
         
     | 
| 
      
 1297 
     | 
    
         
            +
              end
         
     | 
| 
      
 1298 
     | 
    
         
            +
            end
         
     | 
| 
      
 1299 
     | 
    
         
            +
             
     | 
| 
      
 1300 
     | 
    
         
            +
            # good
         
     | 
| 
      
 1301 
     | 
    
         
            +
            def test_skip_is_used_in_rescue
         
     | 
| 
      
 1302 
     | 
    
         
            +
              do_setup
         
     | 
| 
      
 1303 
     | 
    
         
            +
              assert do_something
         
     | 
| 
      
 1304 
     | 
    
         
            +
            rescue
         
     | 
| 
      
 1305 
     | 
    
         
            +
              skip 'This test is skipped.'
         
     | 
| 
      
 1306 
     | 
    
         
            +
            ensure
         
     | 
| 
      
 1307 
     | 
    
         
            +
              do_teardown
         
     | 
| 
      
 1308 
     | 
    
         
            +
            end
         
     | 
| 
      
 1309 
     | 
    
         
            +
            ----
         
     | 
| 
      
 1310 
     | 
    
         
            +
             
     | 
| 
       1240 
1311 
     | 
    
         
             
            == Minitest/TestMethodName
         
     | 
| 
       1241 
1312 
     | 
    
         | 
| 
       1242 
1313 
     | 
    
         
             
            |===
         
     | 
| 
         @@ -1249,7 +1320,7 @@ refute_respond_to(self, :do_something) 
     | 
|
| 
       1249 
1320 
     | 
    
         
             
            | -
         
     | 
| 
       1250 
1321 
     | 
    
         
             
            |===
         
     | 
| 
       1251 
1322 
     | 
    
         | 
| 
       1252 
     | 
    
         
            -
             
     | 
| 
      
 1323 
     | 
    
         
            +
            Enforces that test method names start with `test_` prefix.
         
     | 
| 
       1253 
1324 
     | 
    
         
             
            It aims to prevent tests that aren't executed by forgetting to start test method name with `test_`.
         
     | 
| 
       1254 
1325 
     | 
    
         | 
| 
       1255 
1326 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1289,7 +1360,7 @@ end 
     | 
|
| 
       1289 
1360 
     | 
    
         
             
            | -
         
     | 
| 
       1290 
1361 
     | 
    
         
             
            |===
         
     | 
| 
       1291 
1362 
     | 
    
         | 
| 
       1292 
     | 
    
         
            -
             
     | 
| 
      
 1363 
     | 
    
         
            +
            Checks for `assert_raises` has an assertion method at
         
     | 
| 
       1293 
1364 
     | 
    
         
             
            the bottom of block because the assertion will be never reached.
         
     | 
| 
       1294 
1365 
     | 
    
         | 
| 
       1295 
1366 
     | 
    
         
             
            === Examples
         
     | 
| 
         @@ -1321,7 +1392,7 @@ assert_equal('foo', obj.bar) 
     | 
|
| 
       1321 
1392 
     | 
    
         
             
            | -
         
     | 
| 
       1322 
1393 
     | 
    
         
             
            |===
         
     | 
| 
       1323 
1394 
     | 
    
         | 
| 
       1324 
     | 
    
         
            -
             
     | 
| 
      
 1395 
     | 
    
         
            +
            Checks for a specified error in `assert_raises`.
         
     | 
| 
       1325 
1396 
     | 
    
         | 
| 
       1326 
1397 
     | 
    
         
             
            === Examples
         
     | 
| 
       1327 
1398 
     | 
    
         |