rubocop-rspec 2.29.1 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +92 -3
- data/README.md +21 -5
- data/config/default.yml +64 -269
- data/config/obsoletion.yml +20 -21
- data/lib/rubocop/cop/rspec/around_block.rb +2 -4
- data/lib/rubocop/cop/rspec/base.rb +0 -1
- data/lib/rubocop/cop/rspec/be_eq.rb +1 -1
- data/lib/rubocop/cop/rspec/be_eql.rb +1 -1
- data/lib/rubocop/cop/rspec/be_nil.rb +4 -0
- data/lib/rubocop/cop/rspec/change_by_zero.rb +4 -5
- data/lib/rubocop/cop/rspec/contain_exactly.rb +1 -0
- data/lib/rubocop/cop/rspec/context_wording.rb +15 -9
- data/lib/rubocop/cop/rspec/dialect.rb +13 -0
- data/lib/rubocop/cop/rspec/empty_example_group.rb +2 -0
- data/lib/rubocop/cop/rspec/empty_metadata.rb +1 -0
- data/lib/rubocop/cop/rspec/example_wording.rb +3 -5
- data/lib/rubocop/cop/rspec/excessive_docstring_spacing.rb +1 -1
- data/lib/rubocop/cop/rspec/expect_actual.rb +3 -3
- data/lib/rubocop/cop/rspec/expect_in_hook.rb +1 -1
- data/lib/rubocop/cop/rspec/expect_in_let.rb +42 -0
- data/lib/rubocop/cop/rspec/focus.rb +14 -16
- data/lib/rubocop/cop/rspec/implicit_expect.rb +3 -3
- data/lib/rubocop/cop/rspec/implicit_subject.rb +8 -0
- data/lib/rubocop/cop/rspec/indexed_let.rb +6 -3
- data/lib/rubocop/cop/rspec/leaky_constant_declaration.rb +1 -1
- data/lib/rubocop/cop/rspec/match_array.rb +1 -0
- data/lib/rubocop/cop/rspec/message_spies.rb +4 -0
- data/lib/rubocop/cop/rspec/metadata_style.rb +1 -6
- data/lib/rubocop/cop/rspec/missing_expectation_target_method.rb +54 -0
- data/lib/rubocop/cop/rspec/mixin/metadata.rb +5 -8
- data/lib/rubocop/cop/rspec/mixin/top_level_group.rb +7 -0
- data/lib/rubocop/cop/rspec/multiple_describes.rb +1 -1
- data/lib/rubocop/cop/rspec/multiple_expectations.rb +4 -4
- data/lib/rubocop/cop/rspec/multiple_memoized_helpers.rb +4 -5
- data/lib/rubocop/cop/rspec/named_subject.rb +5 -2
- data/lib/rubocop/cop/rspec/nested_groups.rb +2 -1
- data/lib/rubocop/cop/rspec/pending_without_reason.rb +0 -5
- data/lib/rubocop/cop/rspec/predicate_matcher.rb +25 -11
- data/lib/rubocop/cop/rspec/remove_const.rb +0 -1
- data/lib/rubocop/cop/rspec/repeated_subject_call.rb +1 -0
- data/lib/rubocop/cop/rspec/return_from_stub.rb +5 -4
- data/lib/rubocop/cop/rspec/scattered_setup.rb +7 -1
- data/lib/rubocop/cop/rspec/single_argument_message_chain.rb +3 -4
- data/lib/rubocop/cop/rspec/sort_metadata.rb +22 -8
- data/lib/rubocop/cop/rspec/stubbed_mock.rb +15 -10
- data/lib/rubocop/cop/rspec/subject_stub.rb +2 -2
- data/lib/rubocop/cop/rspec/unspecified_exception.rb +21 -14
- data/lib/rubocop/cop/rspec/verified_double_reference.rb +14 -53
- data/lib/rubocop/cop/rspec/void_expect.rb +6 -1
- data/lib/rubocop/cop/rspec_cops.rb +2 -25
- data/lib/rubocop/rspec/concept.rb +0 -1
- data/lib/rubocop/rspec/config_formatter.rb +4 -32
- data/lib/rubocop/rspec/cop/generator.rb +25 -0
- data/lib/rubocop/rspec/description_extractor.rb +2 -2
- data/lib/rubocop/rspec/hook.rb +1 -1
- data/lib/rubocop/rspec/language.rb +0 -1
- data/lib/rubocop/rspec/node.rb +1 -1
- data/lib/rubocop/rspec/plugin.rb +37 -0
- data/lib/rubocop/rspec/shared_contexts/default_rspec_language_config_context.rb +1 -1
- data/lib/rubocop/rspec/version.rb +1 -1
- data/lib/rubocop/rspec/wording.rb +2 -4
- data/lib/rubocop/rspec.rb +0 -7
- data/lib/rubocop-rspec.rb +2 -20
- metadata +18 -62
- data/lib/rubocop/cop/rspec/capybara/current_path_expectation.rb +0 -39
- data/lib/rubocop/cop/rspec/capybara/feature_methods.rb +0 -104
- data/lib/rubocop/cop/rspec/capybara/match_style.rb +0 -38
- data/lib/rubocop/cop/rspec/capybara/negation_matcher.rb +0 -33
- data/lib/rubocop/cop/rspec/capybara/specific_actions.rb +0 -29
- data/lib/rubocop/cop/rspec/capybara/specific_finders.rb +0 -24
- data/lib/rubocop/cop/rspec/capybara/specific_matcher.rb +0 -35
- data/lib/rubocop/cop/rspec/capybara/visibility_matcher.rb +0 -36
- data/lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb +0 -35
- data/lib/rubocop/cop/rspec/factory_bot/consistent_parentheses_style.rb +0 -50
- data/lib/rubocop/cop/rspec/factory_bot/create_list.rb +0 -40
- data/lib/rubocop/cop/rspec/factory_bot/factory_class_name.rb +0 -29
- data/lib/rubocop/cop/rspec/factory_bot/factory_name_style.rb +0 -33
- data/lib/rubocop/cop/rspec/factory_bot/syntax_methods.rb +0 -55
- data/lib/rubocop/cop/rspec/file_path.rb +0 -179
- data/lib/rubocop/cop/rspec/rails/avoid_setup_hook.rb +0 -27
- data/lib/rubocop/cop/rspec/rails/have_http_status.rb +0 -35
- data/lib/rubocop/cop/rspec/rails/http_status.rb +0 -61
- data/lib/rubocop/cop/rspec/rails/inferred_spec_type.rb +0 -62
- data/lib/rubocop/cop/rspec/rails/minitest_assertions.rb +0 -39
- data/lib/rubocop/cop/rspec/rails/negation_be_valid.rb +0 -39
- data/lib/rubocop/cop/rspec/rails/travel_around.rb +0 -34
- data/lib/rubocop/rspec/inject.rb +0 -18
- data/lib/rubocop/rspec/language/node_pattern.rb +0 -48
data/config/default.yml
CHANGED
@@ -3,10 +3,10 @@ RSpec:
|
|
3
3
|
Enabled: true
|
4
4
|
StyleGuideBaseURL: https://rspec.rubystyle.guide
|
5
5
|
DocumentationBaseURL: https://docs.rubocop.org/rubocop-rspec
|
6
|
-
Include:
|
6
|
+
Include:
|
7
7
|
- "**/*_spec.rb"
|
8
8
|
- "**/spec/**/*"
|
9
|
-
Language:
|
9
|
+
Language:
|
10
10
|
inherit_mode:
|
11
11
|
merge:
|
12
12
|
- Expectations
|
@@ -146,13 +146,15 @@ RSpec/Be:
|
|
146
146
|
|
147
147
|
RSpec/BeEmpty:
|
148
148
|
Description: Prefer using `be_empty` when checking for an empty array.
|
149
|
-
Enabled:
|
149
|
+
Enabled: true
|
150
|
+
AutoCorrect: contextual
|
150
151
|
VersionAdded: '2.20'
|
152
|
+
VersionChanged: '2.31'
|
151
153
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeEmpty
|
152
154
|
|
153
155
|
RSpec/BeEq:
|
154
156
|
Description: Check for expectations where `be(...)` can replace `eq(...)`.
|
155
|
-
Enabled:
|
157
|
+
Enabled: true
|
156
158
|
Safe: false
|
157
159
|
VersionAdded: 2.9.0
|
158
160
|
VersionChanged: '2.16'
|
@@ -168,7 +170,7 @@ RSpec/BeEql:
|
|
168
170
|
|
169
171
|
RSpec/BeNil:
|
170
172
|
Description: Ensures a consistent style is used when matching `nil`.
|
171
|
-
Enabled:
|
173
|
+
Enabled: true
|
172
174
|
EnforcedStyle: be_nil
|
173
175
|
SupportedStyles:
|
174
176
|
- be
|
@@ -191,7 +193,7 @@ RSpec/BeforeAfterAll:
|
|
191
193
|
|
192
194
|
RSpec/ChangeByZero:
|
193
195
|
Description: Prefer negated matchers over `to change.by(0)`.
|
194
|
-
Enabled:
|
196
|
+
Enabled: true
|
195
197
|
VersionAdded: '2.11'
|
196
198
|
VersionChanged: '2.14'
|
197
199
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ChangeByZero
|
@@ -200,7 +202,7 @@ RSpec/ChangeByZero:
|
|
200
202
|
RSpec/ClassCheck:
|
201
203
|
Description: Enforces consistent use of `be_a` or `be_kind_of`.
|
202
204
|
StyleGuide: "#is-a-vs-kind-of"
|
203
|
-
Enabled:
|
205
|
+
Enabled: true
|
204
206
|
VersionAdded: '2.13'
|
205
207
|
EnforcedStyle: be_a
|
206
208
|
SupportedStyles:
|
@@ -210,7 +212,7 @@ RSpec/ClassCheck:
|
|
210
212
|
|
211
213
|
RSpec/ContainExactly:
|
212
214
|
Description: Checks where `contain_exactly` is used.
|
213
|
-
Enabled:
|
215
|
+
Enabled: true
|
214
216
|
VersionAdded: '2.19'
|
215
217
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContainExactly
|
216
218
|
|
@@ -304,22 +306,25 @@ RSpec/Dialect:
|
|
304
306
|
|
305
307
|
RSpec/DuplicatedMetadata:
|
306
308
|
Description: Avoid duplicated metadata.
|
307
|
-
Enabled:
|
309
|
+
Enabled: true
|
308
310
|
VersionAdded: '2.16'
|
309
311
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DuplicatedMetadata
|
310
312
|
|
311
313
|
RSpec/EmptyExampleGroup:
|
312
314
|
Description: Checks if an example group does not include any tests.
|
313
315
|
Enabled: true
|
316
|
+
AutoCorrect: contextual
|
314
317
|
SafeAutoCorrect: false
|
315
318
|
VersionAdded: '1.7'
|
316
|
-
VersionChanged: '2.
|
319
|
+
VersionChanged: '2.31'
|
317
320
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyExampleGroup
|
318
321
|
|
319
322
|
RSpec/EmptyHook:
|
320
323
|
Description: Checks for empty before and after hooks.
|
321
324
|
Enabled: true
|
325
|
+
AutoCorrect: contextual
|
322
326
|
VersionAdded: '1.39'
|
327
|
+
VersionChanged: '2.31'
|
323
328
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyHook
|
324
329
|
|
325
330
|
RSpec/EmptyLineAfterExample:
|
@@ -362,19 +367,21 @@ RSpec/EmptyLineAfterSubject:
|
|
362
367
|
|
363
368
|
RSpec/EmptyMetadata:
|
364
369
|
Description: Avoid empty metadata hash.
|
365
|
-
Enabled:
|
370
|
+
Enabled: true
|
371
|
+
AutoCorrect: contextual
|
366
372
|
VersionAdded: '2.24'
|
373
|
+
VersionChanged: '2.31'
|
367
374
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyMetadata
|
368
375
|
|
369
376
|
RSpec/EmptyOutput:
|
370
377
|
Description: Check that the `output` matcher is not called with an empty string.
|
371
|
-
Enabled:
|
378
|
+
Enabled: true
|
372
379
|
VersionAdded: '2.29'
|
373
380
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyOutput
|
374
381
|
|
375
382
|
RSpec/Eq:
|
376
383
|
Description: Use `eq` instead of `be ==` to compare objects.
|
377
|
-
Enabled:
|
384
|
+
Enabled: true
|
378
385
|
VersionAdded: '2.24'
|
379
386
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Eq
|
380
387
|
|
@@ -396,6 +403,7 @@ RSpec/ExampleWithoutDescription:
|
|
396
403
|
- single_line_only
|
397
404
|
- disallow
|
398
405
|
VersionAdded: '1.22'
|
406
|
+
StyleGuide: https://rspec.rubystyle.guide/#it-and-specify
|
399
407
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWithoutDescription
|
400
408
|
|
401
409
|
RSpec/ExampleWording:
|
@@ -416,7 +424,7 @@ RSpec/ExampleWording:
|
|
416
424
|
|
417
425
|
RSpec/ExcessiveDocstringSpacing:
|
418
426
|
Description: Checks for excessive whitespace in example descriptions.
|
419
|
-
Enabled:
|
427
|
+
Enabled: true
|
420
428
|
VersionAdded: '2.5'
|
421
429
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExcessiveDocstringSpacing
|
422
430
|
|
@@ -447,32 +455,24 @@ RSpec/ExpectInHook:
|
|
447
455
|
VersionAdded: '1.16'
|
448
456
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectInHook
|
449
457
|
|
458
|
+
RSpec/ExpectInLet:
|
459
|
+
Description: Do not use `expect` in let.
|
460
|
+
Enabled: true
|
461
|
+
VersionAdded: '2.30'
|
462
|
+
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectInLet
|
463
|
+
|
450
464
|
RSpec/ExpectOutput:
|
451
465
|
Description: Checks for opportunities to use `expect { ... }.to output`.
|
452
466
|
Enabled: true
|
453
467
|
VersionAdded: '1.10'
|
454
468
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectOutput
|
455
469
|
|
456
|
-
RSpec/FilePath:
|
457
|
-
Description: Checks that spec file paths are consistent and well-formed.
|
458
|
-
Enabled: true
|
459
|
-
Include:
|
460
|
-
- "**/*_spec*rb*"
|
461
|
-
- "**/spec/**/*"
|
462
|
-
CustomTransform:
|
463
|
-
RuboCop: rubocop
|
464
|
-
RSpec: rspec
|
465
|
-
IgnoreMethods: false
|
466
|
-
SpecSuffixOnly: false
|
467
|
-
VersionAdded: '1.2'
|
468
|
-
VersionChanged: '2.24'
|
469
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FilePath
|
470
|
-
|
471
470
|
RSpec/Focus:
|
472
471
|
Description: Checks if examples are focused.
|
473
472
|
Enabled: true
|
473
|
+
AutoCorrect: contextual
|
474
474
|
VersionAdded: '1.5'
|
475
|
-
VersionChanged: '2.
|
475
|
+
VersionChanged: '2.31'
|
476
476
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Focus
|
477
477
|
|
478
478
|
RSpec/HookArgument:
|
@@ -490,12 +490,14 @@ RSpec/HookArgument:
|
|
490
490
|
RSpec/HooksBeforeExamples:
|
491
491
|
Description: Checks for before/around/after hooks that come after an example.
|
492
492
|
Enabled: true
|
493
|
+
AutoCorrect: contextual
|
493
494
|
VersionAdded: '1.29'
|
495
|
+
VersionChanged: '2.31'
|
494
496
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HooksBeforeExamples
|
495
497
|
|
496
498
|
RSpec/IdenticalEqualityAssertion:
|
497
499
|
Description: Checks for equality assertions with identical expressions on both sides.
|
498
|
-
Enabled:
|
500
|
+
Enabled: true
|
499
501
|
VersionAdded: '2.4'
|
500
502
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/IdenticalEqualityAssertion
|
501
503
|
|
@@ -532,7 +534,7 @@ RSpec/ImplicitSubject:
|
|
532
534
|
|
533
535
|
RSpec/IndexedLet:
|
534
536
|
Description: Do not set up test data using indexes (e.g., `item_1`, `item_2`).
|
535
|
-
Enabled:
|
537
|
+
Enabled: true
|
536
538
|
VersionAdded: '2.20'
|
537
539
|
VersionChanged: '2.23'
|
538
540
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/IndexedLet
|
@@ -557,7 +559,7 @@ RSpec/InstanceVariable:
|
|
557
559
|
|
558
560
|
RSpec/IsExpectedSpecify:
|
559
561
|
Description: Check for `specify` with `is_expected` and one-liner expectations.
|
560
|
-
Enabled:
|
562
|
+
Enabled: true
|
561
563
|
VersionAdded: '2.27'
|
562
564
|
StyleGuide: https://rspec.rubystyle.guide/#it-and-specify
|
563
565
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/IsExpectedSpecify
|
@@ -596,8 +598,9 @@ RSpec/LeakyConstantDeclaration:
|
|
596
598
|
RSpec/LetBeforeExamples:
|
597
599
|
Description: Checks for `let` definitions that come after an example.
|
598
600
|
Enabled: true
|
601
|
+
AutoCorrect: contextual
|
599
602
|
VersionAdded: '1.16'
|
600
|
-
VersionChanged: '
|
603
|
+
VersionChanged: '2.31'
|
601
604
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/LetBeforeExamples
|
602
605
|
|
603
606
|
RSpec/LetSetup:
|
@@ -608,7 +611,7 @@ RSpec/LetSetup:
|
|
608
611
|
|
609
612
|
RSpec/MatchArray:
|
610
613
|
Description: Checks where `match_array` is used.
|
611
|
-
Enabled:
|
614
|
+
Enabled: true
|
612
615
|
VersionAdded: '2.19'
|
613
616
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MatchArray
|
614
617
|
|
@@ -641,7 +644,7 @@ RSpec/MessageSpies:
|
|
641
644
|
|
642
645
|
RSpec/MetadataStyle:
|
643
646
|
Description: Use consistent metadata style.
|
644
|
-
Enabled:
|
647
|
+
Enabled: true
|
645
648
|
EnforcedStyle: symbol
|
646
649
|
SupportedStyles:
|
647
650
|
- hash
|
@@ -655,6 +658,12 @@ RSpec/MissingExampleGroupArgument:
|
|
655
658
|
VersionAdded: '1.28'
|
656
659
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MissingExampleGroupArgument
|
657
660
|
|
661
|
+
RSpec/MissingExpectationTargetMethod:
|
662
|
+
Description: Checks if `.to`, `not_to` or `to_not` are used.
|
663
|
+
Enabled: true
|
664
|
+
VersionAdded: '3.0'
|
665
|
+
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MissingExpectationTargetMethod
|
666
|
+
|
658
667
|
RSpec/MultipleDescribes:
|
659
668
|
Description: Checks for multiple top-level example groups.
|
660
669
|
Enabled: true
|
@@ -709,7 +718,7 @@ RSpec/NestedGroups:
|
|
709
718
|
|
710
719
|
RSpec/NoExpectationExample:
|
711
720
|
Description: Checks if an example contains any expectation.
|
712
|
-
Enabled:
|
721
|
+
Enabled: true
|
713
722
|
Safe: false
|
714
723
|
VersionAdded: '2.13'
|
715
724
|
VersionChanged: '2.14'
|
@@ -742,7 +751,7 @@ RSpec/Pending:
|
|
742
751
|
|
743
752
|
RSpec/PendingWithoutReason:
|
744
753
|
Description: Checks for pending or skipped examples without reason.
|
745
|
-
Enabled:
|
754
|
+
Enabled: true
|
746
755
|
VersionAdded: '2.16'
|
747
756
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/PendingWithoutReason
|
748
757
|
|
@@ -768,7 +777,7 @@ RSpec/ReceiveCounts:
|
|
768
777
|
|
769
778
|
RSpec/ReceiveMessages:
|
770
779
|
Description: Checks for multiple messages stubbed on the same object.
|
771
|
-
Enabled:
|
780
|
+
Enabled: true
|
772
781
|
SafeAutoCorrect: false
|
773
782
|
VersionAdded: '2.23'
|
774
783
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReceiveMessages
|
@@ -781,19 +790,19 @@ RSpec/ReceiveNever:
|
|
781
790
|
|
782
791
|
RSpec/RedundantAround:
|
783
792
|
Description: Remove redundant `around` hook.
|
784
|
-
Enabled:
|
793
|
+
Enabled: true
|
785
794
|
VersionAdded: '2.19'
|
786
795
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RedundantAround
|
787
796
|
|
788
797
|
RSpec/RedundantPredicateMatcher:
|
789
798
|
Description: Checks for redundant predicate matcher.
|
790
|
-
Enabled:
|
799
|
+
Enabled: true
|
791
800
|
VersionAdded: '2.26'
|
792
801
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RedundantPredicateMatcher
|
793
802
|
|
794
803
|
RSpec/RemoveConst:
|
795
804
|
Description: Checks that `remove_const` is not used in specs.
|
796
|
-
Enabled:
|
805
|
+
Enabled: true
|
797
806
|
VersionAdded: '2.26'
|
798
807
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RemoveConst
|
799
808
|
|
@@ -829,7 +838,7 @@ RSpec/RepeatedIncludeExample:
|
|
829
838
|
|
830
839
|
RSpec/RepeatedSubjectCall:
|
831
840
|
Description: Checks for repeated calls to subject missing that it is memoized.
|
832
|
-
Enabled:
|
841
|
+
Enabled: true
|
833
842
|
VersionAdded: '2.27'
|
834
843
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedSubjectCall
|
835
844
|
|
@@ -847,14 +856,17 @@ RSpec/ReturnFromStub:
|
|
847
856
|
RSpec/ScatteredLet:
|
848
857
|
Description: Checks for let scattered across the example group.
|
849
858
|
Enabled: true
|
859
|
+
AutoCorrect: contextual
|
850
860
|
VersionAdded: '1.14'
|
851
|
-
VersionChanged: '
|
861
|
+
VersionChanged: '2.31'
|
852
862
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ScatteredLet
|
853
863
|
|
854
864
|
RSpec/ScatteredSetup:
|
855
865
|
Description: Checks for setup scattered across multiple hooks in an example group.
|
856
866
|
Enabled: true
|
867
|
+
AutoCorrect: contextual
|
857
868
|
VersionAdded: '1.10'
|
869
|
+
VersionChanged: '2.31'
|
858
870
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ScatteredSetup
|
859
871
|
|
860
872
|
RSpec/SharedContext:
|
@@ -883,19 +895,19 @@ RSpec/SingleArgumentMessageChain:
|
|
883
895
|
|
884
896
|
RSpec/SkipBlockInsideExample:
|
885
897
|
Description: Checks for passing a block to `skip` within examples.
|
886
|
-
Enabled:
|
898
|
+
Enabled: true
|
887
899
|
VersionAdded: '2.19'
|
888
900
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SkipBlockInsideExample
|
889
901
|
|
890
902
|
RSpec/SortMetadata:
|
891
903
|
Description: Sort RSpec metadata alphabetically.
|
892
|
-
Enabled:
|
904
|
+
Enabled: true
|
893
905
|
VersionAdded: '2.14'
|
894
906
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SortMetadata
|
895
907
|
|
896
908
|
RSpec/SpecFilePathFormat:
|
897
909
|
Description: Checks that spec file paths are consistent and well-formed.
|
898
|
-
Enabled:
|
910
|
+
Enabled: true
|
899
911
|
Include:
|
900
912
|
- "**/*_spec.rb"
|
901
913
|
Exclude:
|
@@ -911,7 +923,7 @@ RSpec/SpecFilePathFormat:
|
|
911
923
|
|
912
924
|
RSpec/SpecFilePathSuffix:
|
913
925
|
Description: Checks that spec file paths suffix are consistent and well-formed.
|
914
|
-
Enabled:
|
926
|
+
Enabled: true
|
915
927
|
VersionAdded: '2.24'
|
916
928
|
Include:
|
917
929
|
- "**/*_spec*rb*"
|
@@ -926,7 +938,7 @@ RSpec/StubbedMock:
|
|
926
938
|
|
927
939
|
RSpec/SubjectDeclaration:
|
928
940
|
Description: Ensure that subject is defined using subject helper.
|
929
|
-
Enabled:
|
941
|
+
Enabled: true
|
930
942
|
VersionAdded: '2.5'
|
931
943
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SubjectDeclaration
|
932
944
|
|
@@ -940,7 +952,7 @@ RSpec/SubjectStub:
|
|
940
952
|
|
941
953
|
RSpec/UndescriptiveLiteralsDescription:
|
942
954
|
Description: Description should be descriptive.
|
943
|
-
Enabled:
|
955
|
+
Enabled: true
|
944
956
|
VersionAdded: '2.29'
|
945
957
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/UndescriptiveLiteralsDescription
|
946
958
|
|
@@ -974,14 +986,10 @@ RSpec/VariableName:
|
|
974
986
|
|
975
987
|
RSpec/VerifiedDoubleReference:
|
976
988
|
Description: Checks for consistent verified double reference style.
|
977
|
-
Enabled:
|
989
|
+
Enabled: true
|
978
990
|
SafeAutoCorrect: false
|
979
|
-
EnforcedStyle: constant
|
980
|
-
SupportedStyles:
|
981
|
-
- constant
|
982
|
-
- string
|
983
991
|
VersionAdded: 2.10.0
|
984
|
-
VersionChanged: '
|
992
|
+
VersionChanged: '3.4'
|
985
993
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VerifiedDoubleReference
|
986
994
|
|
987
995
|
RSpec/VerifiedDoubles:
|
@@ -1005,216 +1013,3 @@ RSpec/Yield:
|
|
1005
1013
|
Enabled: true
|
1006
1014
|
VersionAdded: '1.32'
|
1007
1015
|
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
|
1008
|
-
|
1009
|
-
RSpec/Capybara:
|
1010
|
-
Enabled: true
|
1011
|
-
Include: *1
|
1012
|
-
Language: *2
|
1013
|
-
|
1014
|
-
RSpec/Capybara/CurrentPathExpectation:
|
1015
|
-
Description: Checks that no expectations are set on Capybara's `current_path`.
|
1016
|
-
Enabled: true
|
1017
|
-
VersionAdded: '1.18'
|
1018
|
-
VersionChanged: '2.0'
|
1019
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
|
1020
|
-
|
1021
|
-
RSpec/Capybara/FeatureMethods:
|
1022
|
-
Description: Checks for consistent method usage in feature specs.
|
1023
|
-
Enabled: true
|
1024
|
-
EnabledMethods: []
|
1025
|
-
VersionAdded: '1.17'
|
1026
|
-
VersionChanged: '2.0'
|
1027
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
|
1028
|
-
|
1029
|
-
RSpec/Capybara/MatchStyle:
|
1030
|
-
Description: Checks for usage of deprecated style methods.
|
1031
|
-
Enabled: pending
|
1032
|
-
VersionAdded: '2.17'
|
1033
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/MatchStyle
|
1034
|
-
|
1035
|
-
RSpec/Capybara/NegationMatcher:
|
1036
|
-
Description: Enforces use of `have_no_*` or `not_to` for negated expectations.
|
1037
|
-
Enabled: pending
|
1038
|
-
VersionAdded: '2.14'
|
1039
|
-
EnforcedStyle: not_to
|
1040
|
-
SupportedStyles:
|
1041
|
-
- have_no
|
1042
|
-
- not_to
|
1043
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/NegationMatcher
|
1044
|
-
|
1045
|
-
RSpec/Capybara/SpecificActions:
|
1046
|
-
Description: Checks for there is a more specific actions offered by Capybara.
|
1047
|
-
Enabled: pending
|
1048
|
-
VersionAdded: '2.14'
|
1049
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/SpecificActions
|
1050
|
-
|
1051
|
-
RSpec/Capybara/SpecificFinders:
|
1052
|
-
Description: Checks if there is a more specific finder offered by Capybara.
|
1053
|
-
Enabled: pending
|
1054
|
-
VersionAdded: '2.13'
|
1055
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/SpecificFinders
|
1056
|
-
|
1057
|
-
RSpec/Capybara/SpecificMatcher:
|
1058
|
-
Description: Checks for there is a more specific matcher offered by Capybara.
|
1059
|
-
Enabled: pending
|
1060
|
-
VersionAdded: '2.12'
|
1061
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/SpecificMatcher
|
1062
|
-
|
1063
|
-
RSpec/Capybara/VisibilityMatcher:
|
1064
|
-
Description: Checks for boolean visibility in Capybara finders.
|
1065
|
-
Enabled: true
|
1066
|
-
VersionAdded: '1.39'
|
1067
|
-
VersionChanged: '2.0'
|
1068
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
|
1069
|
-
|
1070
|
-
RSpec/FactoryBot:
|
1071
|
-
Enabled: true
|
1072
|
-
Include: *1
|
1073
|
-
Language: *2
|
1074
|
-
|
1075
|
-
RSpec/FactoryBot/AttributeDefinedStatically:
|
1076
|
-
Description: Always declare attribute values as blocks.
|
1077
|
-
Enabled: true
|
1078
|
-
Include:
|
1079
|
-
- "**/spec/factories.rb"
|
1080
|
-
- "**/spec/factories/**/*.rb"
|
1081
|
-
- "**/features/support/factories/**/*.rb"
|
1082
|
-
VersionAdded: '1.28'
|
1083
|
-
VersionChanged: '2.23'
|
1084
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
|
1085
|
-
|
1086
|
-
RSpec/FactoryBot/ConsistentParenthesesStyle:
|
1087
|
-
Description: Use a consistent style for parentheses in factory bot calls.
|
1088
|
-
Enabled: pending
|
1089
|
-
EnforcedStyle: require_parentheses
|
1090
|
-
SupportedStyles:
|
1091
|
-
- require_parentheses
|
1092
|
-
- omit_parentheses
|
1093
|
-
VersionAdded: '2.14'
|
1094
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/ConsistentParenthesesStyle
|
1095
|
-
|
1096
|
-
RSpec/FactoryBot/CreateList:
|
1097
|
-
Description: Checks for create_list usage.
|
1098
|
-
Enabled: true
|
1099
|
-
Include:
|
1100
|
-
- "**/*_spec.rb"
|
1101
|
-
- "**/spec/**/*"
|
1102
|
-
- "**/spec/factories.rb"
|
1103
|
-
- "**/spec/factories/**/*.rb"
|
1104
|
-
- "**/features/support/factories/**/*.rb"
|
1105
|
-
EnforcedStyle: create_list
|
1106
|
-
SupportedStyles:
|
1107
|
-
- create_list
|
1108
|
-
- n_times
|
1109
|
-
VersionAdded: '1.25'
|
1110
|
-
VersionChanged: '2.23'
|
1111
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
|
1112
|
-
|
1113
|
-
RSpec/FactoryBot/FactoryClassName:
|
1114
|
-
Description: Use string value when setting the class attribute explicitly.
|
1115
|
-
Enabled: true
|
1116
|
-
Include:
|
1117
|
-
- "**/spec/factories.rb"
|
1118
|
-
- "**/spec/factories/**/*.rb"
|
1119
|
-
- "**/features/support/factories/**/*.rb"
|
1120
|
-
VersionAdded: '1.37'
|
1121
|
-
VersionChanged: '2.23'
|
1122
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
|
1123
|
-
|
1124
|
-
RSpec/FactoryBot/FactoryNameStyle:
|
1125
|
-
Description: Checks for name style for argument of FactoryBot::Syntax::Methods.
|
1126
|
-
Enabled: pending
|
1127
|
-
VersionAdded: '2.16'
|
1128
|
-
EnforcedStyle: symbol
|
1129
|
-
SupportedStyles:
|
1130
|
-
- symbol
|
1131
|
-
- string
|
1132
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryNameStyle
|
1133
|
-
|
1134
|
-
RSpec/FactoryBot/SyntaxMethods:
|
1135
|
-
Description: Use shorthands from `FactoryBot::Syntax::Methods` in your specs.
|
1136
|
-
Enabled: pending
|
1137
|
-
SafeAutoCorrect: false
|
1138
|
-
VersionAdded: '2.7'
|
1139
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/SyntaxMethods
|
1140
|
-
|
1141
|
-
RSpec/Rails:
|
1142
|
-
Enabled: true
|
1143
|
-
Include: *1
|
1144
|
-
Language: *2
|
1145
|
-
|
1146
|
-
RSpec/Rails/AvoidSetupHook:
|
1147
|
-
Description: Checks that tests use RSpec `before` hook over Rails `setup` method.
|
1148
|
-
Enabled: pending
|
1149
|
-
VersionAdded: '2.4'
|
1150
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/AvoidSetupHook
|
1151
|
-
|
1152
|
-
RSpec/Rails/HaveHttpStatus:
|
1153
|
-
Description: Checks that tests use `have_http_status` instead of equality matchers.
|
1154
|
-
Enabled: pending
|
1155
|
-
ResponseMethods:
|
1156
|
-
- response
|
1157
|
-
- last_response
|
1158
|
-
SafeAutoCorrect: false
|
1159
|
-
VersionAdded: '2.12'
|
1160
|
-
VersionChanged: '2.27'
|
1161
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HaveHttpStatus
|
1162
|
-
|
1163
|
-
RSpec/Rails/HttpStatus:
|
1164
|
-
Description: Enforces use of symbolic or numeric value to describe HTTP status.
|
1165
|
-
Enabled: true
|
1166
|
-
EnforcedStyle: symbolic
|
1167
|
-
SupportedStyles:
|
1168
|
-
- numeric
|
1169
|
-
- symbolic
|
1170
|
-
- be_status
|
1171
|
-
VersionAdded: '1.23'
|
1172
|
-
VersionChanged: '2.20'
|
1173
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus
|
1174
|
-
|
1175
|
-
RSpec/Rails/InferredSpecType:
|
1176
|
-
Description: Identifies redundant spec type.
|
1177
|
-
Enabled: pending
|
1178
|
-
Safe: false
|
1179
|
-
VersionAdded: '2.14'
|
1180
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/InferredSpecType
|
1181
|
-
Inferences:
|
1182
|
-
channels: channel
|
1183
|
-
controllers: controller
|
1184
|
-
features: feature
|
1185
|
-
generator: generator
|
1186
|
-
helpers: helper
|
1187
|
-
jobs: job
|
1188
|
-
mailboxes: mailbox
|
1189
|
-
mailers: mailer
|
1190
|
-
models: model
|
1191
|
-
requests: request
|
1192
|
-
integration: request
|
1193
|
-
api: request
|
1194
|
-
routing: routing
|
1195
|
-
system: system
|
1196
|
-
views: view
|
1197
|
-
|
1198
|
-
RSpec/Rails/MinitestAssertions:
|
1199
|
-
Description: Check if using Minitest-like matchers.
|
1200
|
-
Enabled: pending
|
1201
|
-
VersionAdded: '2.17'
|
1202
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/MinitestAssertions
|
1203
|
-
|
1204
|
-
RSpec/Rails/NegationBeValid:
|
1205
|
-
Description: Enforces use of `be_invalid` or `not_to` for negated be_valid.
|
1206
|
-
Safe: false
|
1207
|
-
EnforcedStyle: not_to
|
1208
|
-
SupportedStyles:
|
1209
|
-
- not_to
|
1210
|
-
- be_invalid
|
1211
|
-
Enabled: pending
|
1212
|
-
VersionAdded: '2.23'
|
1213
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/NegationBeValid
|
1214
|
-
|
1215
|
-
RSpec/Rails/TravelAround:
|
1216
|
-
Description: Prefer to travel in `before` rather than `around`.
|
1217
|
-
Enabled: pending
|
1218
|
-
Safe: false
|
1219
|
-
VersionAdded: '2.19'
|
1220
|
-
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/TravelAround
|
data/config/obsoletion.yml
CHANGED
@@ -12,25 +12,24 @@ changed_parameters:
|
|
12
12
|
parameters: IgnoredPatterns
|
13
13
|
alternative: AllowedPatterns
|
14
14
|
severity: warning
|
15
|
+
- cops: RSpec/VerifiedDoubleReference
|
16
|
+
parameters: EnforcedStyle
|
17
|
+
reason: String references are not verifying unless the class is loaded.
|
15
18
|
|
16
|
-
|
17
|
-
RSpec/
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
RSpec/Capybara/
|
24
|
-
|
25
|
-
|
26
|
-
RSpec/
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
RSpec/Rails
|
31
|
-
RSpec/
|
32
|
-
RSpec/
|
33
|
-
RSpec/Rails/InferredSpecType: RSpecRails/InferredSpecType
|
34
|
-
RSpec/Rails/MinitestAssertions: RSpecRails/MinitestAssertions
|
35
|
-
RSpec/Rails/NegationBeValid: RSpecRails/NegationBeValid
|
36
|
-
RSpec/Rails/TravelAround: RSpecRails/TravelAround
|
19
|
+
split:
|
20
|
+
RSpec/FilePath:
|
21
|
+
alternatives:
|
22
|
+
- RSpec/SpecFilePathFormat
|
23
|
+
- RSpec/SpecFilePathSuffix
|
24
|
+
|
25
|
+
removed:
|
26
|
+
RSpec/Capybara/FeatureMethods:
|
27
|
+
reason: >
|
28
|
+
this cop has migrated to `RSpec/Dialect`. Please use `RSpec/Dialect` instead
|
29
|
+
RSpec/StringAsInstanceDoubleConstant:
|
30
|
+
reason: Please use `RSpec/VerifiedDoubleReference` instead
|
31
|
+
|
32
|
+
extracted:
|
33
|
+
RSpec/Rails/*: rubocop-rspec_rails
|
34
|
+
RSpec/FactoryBot/*: rubocop-factory_bot
|
35
|
+
RSpec/Capybara/*: rubocop-capybara
|
@@ -69,15 +69,13 @@ module RuboCop
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def check_for_unused_proxy(block, proxy)
|
72
|
-
name, = *proxy
|
73
|
-
|
74
72
|
find_arg_usage(block) do |usage|
|
75
|
-
return if usage.include?(s(:lvar, name))
|
73
|
+
return if usage.include?(s(:lvar, proxy.name))
|
76
74
|
end
|
77
75
|
|
78
76
|
add_offense(
|
79
77
|
proxy,
|
80
|
-
message: format(MSG_UNUSED_ARG, arg: name)
|
78
|
+
message: format(MSG_UNUSED_ARG, arg: proxy.name)
|
81
79
|
)
|
82
80
|
end
|
83
81
|
|