rubocop-rspec 1.37.1 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +53 -0
- data/CODE_OF_CONDUCT.md +17 -0
- data/README.md +2 -62
- data/config/default.yml +155 -15
- data/lib/rubocop-rspec.rb +3 -1
- data/lib/rubocop/cop/rspec/capybara/visibility_matcher.rb +69 -0
- data/lib/rubocop/cop/rspec/context_wording.rb +5 -1
- data/lib/rubocop/cop/rspec/cop.rb +9 -29
- data/lib/rubocop/cop/rspec/describe_class.rb +20 -5
- data/lib/rubocop/cop/rspec/describe_method.rb +0 -1
- data/lib/rubocop/cop/rspec/empty_hook.rb +50 -0
- data/lib/rubocop/cop/rspec/expect_actual.rb +27 -2
- data/lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb +5 -2
- data/lib/rubocop/cop/rspec/file_path.rb +32 -4
- data/lib/rubocop/cop/rspec/hooks_before_examples.rb +3 -21
- data/lib/rubocop/cop/rspec/instance_variable.rb +16 -11
- data/lib/rubocop/cop/rspec/leading_subject.rb +3 -10
- data/lib/rubocop/cop/rspec/leaky_constant_declaration.rb +1 -4
- data/lib/rubocop/cop/rspec/let_before_examples.rb +3 -21
- data/lib/rubocop/cop/rspec/let_setup.rb +15 -3
- data/lib/rubocop/cop/rspec/named_subject.rb +6 -6
- data/lib/rubocop/cop/rspec/nested_groups.rb +9 -10
- data/lib/rubocop/cop/rspec/predicate_matcher.rb +2 -2
- data/lib/rubocop/cop/rspec/rails/http_status.rb +2 -0
- data/lib/rubocop/cop/rspec/repeated_description.rb +17 -2
- data/lib/rubocop/cop/rspec/repeated_example_group_body.rb +97 -0
- data/lib/rubocop/cop/rspec/repeated_example_group_description.rb +96 -0
- data/lib/rubocop/cop/rspec/return_from_stub.rb +3 -2
- data/lib/rubocop/cop/rspec/scattered_let.rb +13 -0
- data/lib/rubocop/cop/rspec/scattered_setup.rb +27 -9
- data/lib/rubocop/cop/rspec/shared_examples.rb +1 -0
- data/lib/rubocop/cop/rspec/subject_stub.rb +23 -51
- data/lib/rubocop/cop/rspec/variable_definition.rb +56 -0
- data/lib/rubocop/cop/rspec/variable_name.rb +47 -0
- data/lib/rubocop/cop/rspec_cops.rb +7 -1
- data/lib/rubocop/rspec/corrector/move_node.rb +52 -0
- data/lib/rubocop/rspec/description_extractor.rb +2 -6
- data/lib/rubocop/rspec/example.rb +1 -1
- data/lib/rubocop/rspec/example_group.rb +21 -49
- data/lib/rubocop/rspec/factory_bot.rb +7 -1
- data/lib/rubocop/rspec/hook.rb +44 -11
- data/lib/rubocop/rspec/language.rb +20 -0
- data/lib/rubocop/rspec/language/node_pattern.rb +5 -1
- data/lib/rubocop/rspec/top_level_group.rb +44 -0
- data/lib/rubocop/rspec/variable.rb +16 -0
- data/lib/rubocop/rspec/version.rb +1 -1
- metadata +20 -11
- data/lib/rubocop/rspec/util.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4899c717a87d579939d5c1420800d2fe6c150e4421908e75b9d52c57c8362e60
|
4
|
+
data.tar.gz: 1155018e6595c843c1ade5cdecb748af349c1c2f94dbcd5b17fb4a4fb5d324be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79d9dc291018b0551b52c85dc6b09a1151356e1c85fe4e6a8a7aca5ade036be690f9b5aae7301cf232a0d067b18c0321be44f9915d5485dcaf993786ed07d328
|
7
|
+
data.tar.gz: cd9db102d912c42b484c7a514f5954b5f35d29bb7f0f3e186ed946898ba1134de5bf452611812465103aa2effc67016e4536bfc6dd365681aa90b2f4c1957f39
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,46 @@
|
|
2
2
|
|
3
3
|
## Master (Unreleased)
|
4
4
|
|
5
|
+
## 1.41.0 (2020-07-03)
|
6
|
+
|
7
|
+
* Extend the list of Rails spec types for `RSpec/DescribeClass`. ([@pirj][])
|
8
|
+
* Fix `FactoryBot/AttributeDefinedStatically` to allow `#traits_for_enum` without a block. ([@harrylewis][])
|
9
|
+
* Improve the performance of `FactoryBot/AttributeDefinedStatically`, `RSpec/InstanceVariable`, `RSpec/LetSetup`, `RSpec/NestedGroups` and `RSpec/ReturnFromStub`. ([@andrykonchin][])
|
10
|
+
|
11
|
+
## 1.40.0 (2020-06-11)
|
12
|
+
|
13
|
+
* Add new `RSpec/VariableName` cop. ([@tejasbubane][])
|
14
|
+
* Add new `RSpec/VariableDefinition` cop. ([@tejasbubane][])
|
15
|
+
* Expand `Capybara/VisibilityMatcher` to support more than just `have_selector`. ([@twalpole][])
|
16
|
+
* Add new `SpecSuffixOnly` option to `RSpec/FilePath` cop. ([@zdennis][])
|
17
|
+
* Allow `RSpec/RepeatedExampleGroupBody` to differ only by described_class. ([@robotdana][])
|
18
|
+
* Fix `RSpec/FilePath` detection across sibling directories. ([@rolfschmidt][])
|
19
|
+
* Improve the performance of `RSpec/SubjectStub` by an order of magnitude. ([@andrykonchin][])
|
20
|
+
|
21
|
+
## 1.39.0 (2020-05-01)
|
22
|
+
|
23
|
+
* Fix `RSpec/FilePath` detection when absolute path includes test subject. ([@eitoball][])
|
24
|
+
* Add new `Capybara/VisibilityMatcher` cop. ([@aried3r][])
|
25
|
+
* Ignore String constants by `RSpec/Describe`. ([@AlexWayfer][])
|
26
|
+
* Drop support for ruby 2.3. ([@bquorning][])
|
27
|
+
* Fix multiple cops to detect `let` with proc argument. ([@tejasbubane][])
|
28
|
+
* Add autocorrect support for `RSpec/ScatteredLet`. ([@Darhazer][])
|
29
|
+
* Add new `RSpec/EmptyHook` cop. ([@tejasbubane][])
|
30
|
+
|
31
|
+
## 1.38.1 (2020-02-15)
|
32
|
+
|
33
|
+
* Fix `RSpec/RepeatedDescription` to detect descriptions with interpolation and methods. ([@lazycoder9][])
|
34
|
+
|
35
|
+
## 1.38.0 (2020-02-11)
|
36
|
+
|
37
|
+
* Fix `RSpec/InstanceVariable` detection inside custom matchers. ([@pirj][])
|
38
|
+
* Fix `RSpec/ScatteredSetup` to distinguish hooks with different metadata. ([@pirj][])
|
39
|
+
* Add autocorrect support for `RSpec/ExpectActual` cop. ([@dduugg][], [@pirj][])
|
40
|
+
* Add `RSpec/RepeatedExampleGroupBody` cop. ([@lazycoder9][])
|
41
|
+
* Add `RSpec/RepeatedExampleGroupDescription` cop. ([@lazycoder9][])
|
42
|
+
* Add block name and other lines to `RSpec/ScatteredSetup` message. ([@elebow][])
|
43
|
+
* Fix `RSpec/RepeatedDescription` to take into account example metadata. ([@lazycoder9][])
|
44
|
+
|
5
45
|
## 1.37.1 (2019-12-16)
|
6
46
|
|
7
47
|
* Improve message and description of `FactoryBot/FactoryClassName`. ([@ybiquitous][])
|
@@ -472,3 +512,16 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
472
512
|
[@mkrawc]: https://github.com/mkrawc
|
473
513
|
[@jfragoulis]: https://github.com/jfragoulis
|
474
514
|
[@ybiquitous]: https://github.com/ybiquitous
|
515
|
+
[@dduugg]: https://github.com/dduugg
|
516
|
+
[@lazycoder9]: https://github.com/lazycoder9
|
517
|
+
[@elebow]: https://github.com/elebow
|
518
|
+
[@eitoball]: https://github.com/eitoball
|
519
|
+
[@aried3r]: https://github.com/aried3r
|
520
|
+
[@AlexWayfer]: https://github.com/AlexWayfer
|
521
|
+
[@tejasbubane]: https://github.com/tejasbubane
|
522
|
+
[@twalpole]: https://github.com/twalpole
|
523
|
+
[@zdennis]: https://github.com/zdennis
|
524
|
+
[@robotdana]: https://github.com/robotdana
|
525
|
+
[@rolfschmidt]: https://github.com/rolfschmidt
|
526
|
+
[@andrykonchin]: https://github.com/andrykonchin
|
527
|
+
[@harrylewis]: https://github.com/harrylewis
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# The RuboCop Community Code of Conduct
|
2
|
+
|
3
|
+
**Note:** We have picked the following code of conduct based on [Ruby's own
|
4
|
+
code of conduct](https://www.ruby-lang.org/en/conduct/).
|
5
|
+
|
6
|
+
This document provides a few simple community guidelines for a safe, respectful,
|
7
|
+
productive, and collaborative place for any person who is willing to contribute
|
8
|
+
to the RuboCop community. It applies to all "collaborative spaces", which are
|
9
|
+
defined as community communications channels (such as mailing lists, submitted
|
10
|
+
patches, commit comments, etc.).
|
11
|
+
|
12
|
+
* Participants will be tolerant of opposing views.
|
13
|
+
* Participants must ensure that their language and actions are free of personal
|
14
|
+
attacks and disparaging personal remarks.
|
15
|
+
* When interpreting the words and actions of others, participants should always
|
16
|
+
assume good intentions.
|
17
|
+
* Behaviour which can be reasonably considered harassment will not be tolerated.
|
data/README.md
CHANGED
@@ -20,7 +20,7 @@ gem install rubocop-rspec
|
|
20
20
|
or if you use bundler put this in your `Gemfile`
|
21
21
|
|
22
22
|
```
|
23
|
-
gem 'rubocop-rspec'
|
23
|
+
gem 'rubocop-rspec', require: false
|
24
24
|
```
|
25
25
|
|
26
26
|
## Usage
|
@@ -67,27 +67,7 @@ rubocop-rspec is available on Code Climate as part of the rubocop engine. [Learn
|
|
67
67
|
|
68
68
|
## Documentation
|
69
69
|
|
70
|
-
You can read more about RuboCop-RSpec in its [official manual](
|
71
|
-
|
72
|
-
## Inspecting files that don't end with `_spec.rb`
|
73
|
-
|
74
|
-
By default, `rubocop-rspec` only inspects code within paths ending in `_spec.rb` or including `spec/`. You can override this setting in your config file by specifying one or more patterns:
|
75
|
-
|
76
|
-
```yaml
|
77
|
-
# Inspect all files
|
78
|
-
AllCops:
|
79
|
-
RSpec:
|
80
|
-
Patterns:
|
81
|
-
- '.+'
|
82
|
-
```
|
83
|
-
|
84
|
-
```yaml
|
85
|
-
# Inspect only files ending with `_test.rb`
|
86
|
-
AllCops:
|
87
|
-
RSpec:
|
88
|
-
Patterns:
|
89
|
-
- '_test.rb$'
|
90
|
-
```
|
70
|
+
You can read more about RuboCop-RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
|
91
71
|
|
92
72
|
## The Cops
|
93
73
|
|
@@ -104,46 +84,6 @@ RSpec/FilePath:
|
|
104
84
|
- spec/my_poorly_named_spec_file.rb
|
105
85
|
```
|
106
86
|
|
107
|
-
## Non-goals of RuboCop RSpec
|
108
|
-
|
109
|
-
### Enforcing `should` vs. `expect` syntax
|
110
|
-
|
111
|
-
Enforcing
|
112
|
-
|
113
|
-
```ruby
|
114
|
-
expect(calculator.compute(line_item)).to eq(5)
|
115
|
-
```
|
116
|
-
|
117
|
-
over
|
118
|
-
|
119
|
-
```ruby
|
120
|
-
calculator.compute(line_item).should == 5
|
121
|
-
```
|
122
|
-
|
123
|
-
is a feature of RSpec itself – you can read about it in the [RSpec Documentation](https://relishapp.com/rspec/rspec-expectations/docs/syntax-configuration#disable-should-syntax)
|
124
|
-
|
125
|
-
### Enforcing an explicit RSpec receiver for top-level methods (disabling monkey patching)
|
126
|
-
|
127
|
-
Enforcing
|
128
|
-
|
129
|
-
```ruby
|
130
|
-
RSpec.describe MyClass do
|
131
|
-
...
|
132
|
-
end
|
133
|
-
```
|
134
|
-
|
135
|
-
over
|
136
|
-
|
137
|
-
```ruby
|
138
|
-
describe MyClass do
|
139
|
-
...
|
140
|
-
end
|
141
|
-
```
|
142
|
-
|
143
|
-
can be achieved using RSpec's `disable_monkey_patching!` method, which you can read more about in the [RSpec Documentation](https://relishapp.com/rspec/rspec-core/v/3-7/docs/configuration/zero-monkey-patching-mode#monkey-patched-methods-are-undefined-with-%60disable-monkey-patching!%60). This will also prevent `should` from being defined on every object in your system.
|
144
|
-
|
145
|
-
Before disabling `should` you will need all your specs to use the `expect` syntax. You can use [Transpec](http://yujinakayama.me/transpec/), which will do the conversion for you.
|
146
|
-
|
147
87
|
## Contributing
|
148
88
|
|
149
89
|
Checkout the [contribution guidelines](.github/CONTRIBUTING.md).
|
data/config/default.yml
CHANGED
@@ -13,31 +13,37 @@ AllCops:
|
|
13
13
|
RSpec/AlignLeftLetBrace:
|
14
14
|
Description: Checks that left braces for adjacent single line lets are aligned.
|
15
15
|
Enabled: false
|
16
|
+
VersionAdded: '1.16'
|
16
17
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/AlignLeftLetBrace
|
17
18
|
|
18
19
|
RSpec/AlignRightLetBrace:
|
19
20
|
Description: Checks that right braces for adjacent single line lets are aligned.
|
20
21
|
Enabled: false
|
22
|
+
VersionAdded: '1.16'
|
21
23
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/AlignRightLetBrace
|
22
24
|
|
23
25
|
RSpec/AnyInstance:
|
24
26
|
Description: Check that instances are not being stubbed globally.
|
25
27
|
Enabled: true
|
28
|
+
VersionAdded: '1.4'
|
26
29
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/AnyInstance
|
27
30
|
|
28
31
|
RSpec/AroundBlock:
|
29
32
|
Description: Checks that around blocks actually run the test.
|
30
33
|
Enabled: true
|
34
|
+
VersionAdded: '1.11'
|
31
35
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/AroundBlock
|
32
36
|
|
33
37
|
RSpec/Be:
|
34
38
|
Description: Check for expectations where `be` is used without argument.
|
35
39
|
Enabled: true
|
40
|
+
VersionAdded: '1.25'
|
36
41
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Be
|
37
42
|
|
38
43
|
RSpec/BeEql:
|
39
44
|
Description: Check for expectations where `be(...)` can replace `eql(...)`.
|
40
45
|
Enabled: true
|
46
|
+
VersionAdded: '1.7'
|
41
47
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeEql
|
42
48
|
|
43
49
|
RSpec/BeforeAfterAll:
|
@@ -47,11 +53,13 @@ RSpec/BeforeAfterAll:
|
|
47
53
|
- spec/spec_helper.rb
|
48
54
|
- spec/rails_helper.rb
|
49
55
|
- spec/support/**/*.rb
|
56
|
+
VersionAdded: '1.12'
|
50
57
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeforeAfterAll
|
51
58
|
|
52
59
|
RSpec/ContextMethod:
|
53
60
|
Description: "`context` should not be used for specifying methods."
|
54
61
|
Enabled: true
|
62
|
+
VersionAdded: '1.36'
|
55
63
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextMethod
|
56
64
|
|
57
65
|
RSpec/ContextWording:
|
@@ -61,80 +69,103 @@ RSpec/ContextWording:
|
|
61
69
|
- when
|
62
70
|
- with
|
63
71
|
- without
|
72
|
+
VersionAdded: '1.20'
|
73
|
+
VersionChanged: 1.20.1
|
64
74
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextWording
|
65
75
|
|
66
76
|
RSpec/DescribeClass:
|
67
77
|
Description: Check that the first argument to the top level describe is a constant.
|
68
78
|
Enabled: true
|
79
|
+
VersionAdded: '1.0'
|
69
80
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeClass
|
70
81
|
|
71
82
|
RSpec/DescribeMethod:
|
72
83
|
Description: Checks that the second argument to `describe` specifies a method.
|
73
84
|
Enabled: true
|
85
|
+
VersionAdded: '1.0'
|
74
86
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeMethod
|
75
87
|
|
76
88
|
RSpec/DescribeSymbol:
|
77
89
|
Description: Avoid describing symbols.
|
78
90
|
Enabled: true
|
91
|
+
VersionAdded: '1.15'
|
79
92
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeSymbol
|
80
93
|
|
81
94
|
RSpec/DescribedClass:
|
82
95
|
Description: Checks that tests use `described_class`.
|
83
|
-
SkipBlocks: false
|
84
96
|
Enabled: true
|
97
|
+
SkipBlocks: false
|
85
98
|
EnforcedStyle: described_class
|
86
99
|
SupportedStyles:
|
87
100
|
- described_class
|
88
101
|
- explicit
|
102
|
+
SafeAutoCorrect: false
|
103
|
+
VersionAdded: '1.0'
|
104
|
+
VersionChanged: '1.11'
|
89
105
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribedClass
|
90
106
|
|
91
107
|
RSpec/DescribedClassModuleWrapping:
|
92
108
|
Description: Avoid opening modules and defining specs within them.
|
93
109
|
Enabled: false
|
110
|
+
VersionAdded: '1.37'
|
94
111
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribedClassModuleWrapping
|
95
112
|
|
96
113
|
RSpec/Dialect:
|
97
114
|
Description: This cop enforces custom RSpec dialects.
|
98
115
|
Enabled: false
|
99
116
|
PreferredMethods: {}
|
117
|
+
VersionAdded: '1.33'
|
100
118
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Dialect
|
101
119
|
|
102
120
|
RSpec/EmptyExampleGroup:
|
103
121
|
Description: Checks if an example group does not include any tests.
|
104
122
|
Enabled: true
|
105
123
|
CustomIncludeMethods: []
|
124
|
+
VersionAdded: '1.7'
|
106
125
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyExampleGroup
|
107
126
|
|
127
|
+
RSpec/EmptyHook:
|
128
|
+
Description: Checks for empty before and after hooks.
|
129
|
+
Enabled: true
|
130
|
+
VersionAdded: '1.39'
|
131
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyHook
|
132
|
+
|
108
133
|
RSpec/EmptyLineAfterExample:
|
109
134
|
Description: Checks if there is an empty line after example blocks.
|
110
135
|
Enabled: true
|
111
136
|
AllowConsecutiveOneLiners: true
|
137
|
+
VersionAdded: '1.36'
|
112
138
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyLineAfterExample
|
113
139
|
|
114
140
|
RSpec/EmptyLineAfterExampleGroup:
|
115
141
|
Description: Checks if there is an empty line after example group blocks.
|
116
142
|
Enabled: true
|
143
|
+
VersionAdded: '1.27'
|
117
144
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyLineAfterExampleGroup
|
118
145
|
|
119
146
|
RSpec/EmptyLineAfterFinalLet:
|
120
147
|
Description: Checks if there is an empty line after the last let block.
|
121
148
|
Enabled: true
|
149
|
+
VersionAdded: '1.14'
|
122
150
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyLineAfterFinalLet
|
123
151
|
|
124
152
|
RSpec/EmptyLineAfterHook:
|
125
153
|
Description: Checks if there is an empty line after hook blocks.
|
126
154
|
Enabled: true
|
155
|
+
VersionAdded: '1.27'
|
127
156
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyLineAfterHook
|
128
157
|
|
129
158
|
RSpec/EmptyLineAfterSubject:
|
130
159
|
Description: Checks if there is an empty line after subject block.
|
131
160
|
Enabled: true
|
161
|
+
VersionAdded: '1.14'
|
132
162
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyLineAfterSubject
|
133
163
|
|
134
164
|
RSpec/ExampleLength:
|
135
165
|
Description: Checks for long examples.
|
136
166
|
Enabled: true
|
137
167
|
Max: 5
|
168
|
+
VersionAdded: '1.5'
|
138
169
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleLength
|
139
170
|
|
140
171
|
RSpec/ExampleWithoutDescription:
|
@@ -145,6 +176,7 @@ RSpec/ExampleWithoutDescription:
|
|
145
176
|
- always_allow
|
146
177
|
- single_line_only
|
147
178
|
- disallow
|
179
|
+
VersionAdded: '1.22'
|
148
180
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWithoutDescription
|
149
181
|
|
150
182
|
RSpec/ExampleWording:
|
@@ -156,6 +188,8 @@ RSpec/ExampleWording:
|
|
156
188
|
have: has
|
157
189
|
HAVE: HAS
|
158
190
|
IgnoredWords: []
|
191
|
+
VersionAdded: '1.0'
|
192
|
+
VersionChanged: '1.2'
|
159
193
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWording
|
160
194
|
|
161
195
|
RSpec/ExpectActual:
|
@@ -163,6 +197,7 @@ RSpec/ExpectActual:
|
|
163
197
|
Enabled: true
|
164
198
|
Exclude:
|
165
199
|
- spec/routing/**/*
|
200
|
+
VersionAdded: '1.7'
|
166
201
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectActual
|
167
202
|
|
168
203
|
RSpec/ExpectChange:
|
@@ -172,30 +207,37 @@ RSpec/ExpectChange:
|
|
172
207
|
SupportedStyles:
|
173
208
|
- method_call
|
174
209
|
- block
|
210
|
+
VersionAdded: '1.22'
|
175
211
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectChange
|
176
212
|
|
177
213
|
RSpec/ExpectInHook:
|
178
|
-
Enabled: true
|
179
214
|
Description: Do not use `expect` in hooks such as `before`.
|
215
|
+
Enabled: true
|
216
|
+
VersionAdded: '1.16'
|
180
217
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectInHook
|
181
218
|
|
182
219
|
RSpec/ExpectOutput:
|
183
220
|
Description: Checks for opportunities to use `expect { ... }.to output`.
|
184
221
|
Enabled: true
|
222
|
+
VersionAdded: '1.10'
|
185
223
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectOutput
|
186
224
|
|
187
225
|
RSpec/FilePath:
|
188
|
-
Description: Checks that spec file paths are consistent
|
226
|
+
Description: Checks that spec file paths are consistent and well-formed.
|
189
227
|
Enabled: true
|
190
228
|
CustomTransform:
|
191
229
|
RuboCop: rubocop
|
192
230
|
RSpec: rspec
|
193
231
|
IgnoreMethods: false
|
232
|
+
SpecSuffixOnly: false
|
233
|
+
VersionAdded: '1.2'
|
234
|
+
VersionChanged: '1.40'
|
194
235
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FilePath
|
195
236
|
|
196
237
|
RSpec/Focus:
|
197
238
|
Description: Checks if examples are focused.
|
198
239
|
Enabled: true
|
240
|
+
VersionAdded: '1.5'
|
199
241
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Focus
|
200
242
|
|
201
243
|
RSpec/HookArgument:
|
@@ -206,16 +248,19 @@ RSpec/HookArgument:
|
|
206
248
|
- implicit
|
207
249
|
- each
|
208
250
|
- example
|
251
|
+
VersionAdded: '1.7'
|
209
252
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HookArgument
|
210
253
|
|
211
254
|
RSpec/HooksBeforeExamples:
|
212
|
-
Enabled: true
|
213
255
|
Description: Checks for before/around/after hooks that come after an example.
|
256
|
+
Enabled: true
|
257
|
+
VersionAdded: '1.29'
|
214
258
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HooksBeforeExamples
|
215
259
|
|
216
260
|
RSpec/ImplicitBlockExpectation:
|
217
261
|
Description: Check that implicit block expectation syntax is not used.
|
218
262
|
Enabled: true
|
263
|
+
VersionAdded: '1.35'
|
219
264
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitBlockExpectation
|
220
265
|
|
221
266
|
RSpec/ImplicitExpect:
|
@@ -225,32 +270,39 @@ RSpec/ImplicitExpect:
|
|
225
270
|
SupportedStyles:
|
226
271
|
- is_expected
|
227
272
|
- should
|
273
|
+
VersionAdded: '1.8'
|
228
274
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitExpect
|
229
275
|
|
230
276
|
RSpec/ImplicitSubject:
|
231
|
-
Enabled: true
|
232
277
|
Description: Checks for usage of implicit subject (`is_expected` / `should`).
|
278
|
+
Enabled: true
|
233
279
|
EnforcedStyle: single_line_only
|
234
280
|
SupportedStyles:
|
235
281
|
- single_line_only
|
236
282
|
- single_statement_only
|
237
283
|
- disallow
|
284
|
+
VersionAdded: '1.29'
|
285
|
+
VersionChanged: '1.30'
|
238
286
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitSubject
|
239
287
|
|
240
288
|
RSpec/InstanceSpy:
|
241
289
|
Description: Checks for `instance_double` used with `have_received`.
|
242
290
|
Enabled: true
|
291
|
+
VersionAdded: '1.12'
|
243
292
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InstanceSpy
|
244
293
|
|
245
294
|
RSpec/InstanceVariable:
|
246
295
|
Description: Checks for instance variable usage in specs.
|
247
|
-
AssignmentOnly: false
|
248
296
|
Enabled: true
|
297
|
+
AssignmentOnly: false
|
298
|
+
VersionAdded: '1.0'
|
299
|
+
VersionChanged: '1.7'
|
249
300
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InstanceVariable
|
250
301
|
|
251
302
|
RSpec/InvalidPredicateMatcher:
|
252
303
|
Description: Checks invalid usage for predicate matcher.
|
253
304
|
Enabled: true
|
305
|
+
VersionAdded: '1.16'
|
254
306
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InvalidPredicateMatcher
|
255
307
|
|
256
308
|
RSpec/ItBehavesLike:
|
@@ -260,36 +312,45 @@ RSpec/ItBehavesLike:
|
|
260
312
|
SupportedStyles:
|
261
313
|
- it_behaves_like
|
262
314
|
- it_should_behave_like
|
315
|
+
VersionAdded: '1.13'
|
263
316
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ItBehavesLike
|
264
317
|
|
265
318
|
RSpec/IteratedExpectation:
|
266
319
|
Description: Check that `all` matcher is used instead of iterating over an array.
|
267
320
|
Enabled: true
|
321
|
+
VersionAdded: '1.14'
|
268
322
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/IteratedExpectation
|
269
323
|
|
270
324
|
RSpec/LeadingSubject:
|
271
325
|
Description: Enforce that subject is the first definition in the test.
|
272
326
|
Enabled: true
|
327
|
+
VersionAdded: '1.7'
|
328
|
+
VersionChanged: '1.14'
|
273
329
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/LeadingSubject
|
274
330
|
|
275
331
|
RSpec/LeakyConstantDeclaration:
|
276
332
|
Description: Checks that no class, module, or constant is declared.
|
277
333
|
Enabled: true
|
334
|
+
VersionAdded: '1.35'
|
278
335
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/LeakyConstantDeclaration
|
279
336
|
|
280
337
|
RSpec/LetBeforeExamples:
|
281
338
|
Description: Checks for `let` definitions that come after an example.
|
282
339
|
Enabled: true
|
340
|
+
VersionAdded: '1.16'
|
341
|
+
VersionChanged: '1.22'
|
283
342
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/LetBeforeExamples
|
284
343
|
|
285
344
|
RSpec/LetSetup:
|
286
345
|
Description: Checks unreferenced `let!` calls being used for test setup.
|
287
346
|
Enabled: true
|
347
|
+
VersionAdded: '1.7'
|
288
348
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/LetSetup
|
289
349
|
|
290
350
|
RSpec/MessageChain:
|
291
351
|
Description: Check that chains of messages are not being stubbed.
|
292
352
|
Enabled: true
|
353
|
+
VersionAdded: '1.7'
|
293
354
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageChain
|
294
355
|
|
295
356
|
RSpec/MessageExpectation:
|
@@ -299,6 +360,8 @@ RSpec/MessageExpectation:
|
|
299
360
|
SupportedStyles:
|
300
361
|
- allow
|
301
362
|
- expect
|
363
|
+
VersionAdded: '1.7'
|
364
|
+
VersionChanged: '1.8'
|
302
365
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageExpectation
|
303
366
|
|
304
367
|
RSpec/MessageSpies:
|
@@ -308,59 +371,70 @@ RSpec/MessageSpies:
|
|
308
371
|
SupportedStyles:
|
309
372
|
- have_received
|
310
373
|
- receive
|
374
|
+
VersionAdded: '1.9'
|
311
375
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageSpies
|
312
376
|
|
313
377
|
RSpec/MissingExampleGroupArgument:
|
314
378
|
Description: Checks that the first argument to an example group is not empty.
|
315
379
|
Enabled: true
|
380
|
+
VersionAdded: '1.28'
|
316
381
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MissingExampleGroupArgument
|
317
382
|
|
318
383
|
RSpec/MultipleDescribes:
|
319
384
|
Description: Checks for multiple top level describes.
|
320
385
|
Enabled: true
|
386
|
+
VersionAdded: '1.0'
|
321
387
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleDescribes
|
322
388
|
|
323
389
|
RSpec/MultipleExpectations:
|
324
390
|
Description: Checks if examples contain too many `expect` calls.
|
325
391
|
Enabled: true
|
326
392
|
Max: 1
|
327
|
-
|
393
|
+
VersionAdded: '1.7'
|
394
|
+
VersionChanged: '1.21'
|
328
395
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleExpectations
|
329
396
|
|
330
397
|
RSpec/MultipleSubjects:
|
331
398
|
Description: Checks if an example group defines `subject` multiple times.
|
332
399
|
Enabled: true
|
400
|
+
VersionAdded: '1.16'
|
333
401
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleSubjects
|
334
402
|
|
335
403
|
RSpec/NamedSubject:
|
336
404
|
Description: Checks for explicitly referenced test subjects.
|
337
405
|
Enabled: true
|
338
406
|
IgnoreSharedExamples: true
|
407
|
+
VersionAdded: 1.5.3
|
339
408
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NamedSubject
|
340
409
|
|
341
410
|
RSpec/NestedGroups:
|
342
411
|
Description: Checks for nested example groups.
|
343
412
|
Enabled: true
|
344
413
|
Max: 3
|
414
|
+
VersionAdded: '1.7'
|
415
|
+
VersionChanged: '1.10'
|
345
416
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NestedGroups
|
346
417
|
|
347
418
|
RSpec/NotToNot:
|
348
419
|
Description: Checks for consistent method usage for negating expectations.
|
420
|
+
Enabled: true
|
349
421
|
EnforcedStyle: not_to
|
350
422
|
SupportedStyles:
|
351
423
|
- not_to
|
352
424
|
- to_not
|
353
|
-
|
425
|
+
VersionAdded: '1.4'
|
354
426
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NotToNot
|
355
427
|
|
356
428
|
RSpec/OverwritingSetup:
|
357
|
-
Enabled: true
|
358
429
|
Description: Checks if there is a let/subject that overwrites an existing one.
|
430
|
+
Enabled: true
|
431
|
+
VersionAdded: '1.14'
|
359
432
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/OverwritingSetup
|
360
433
|
|
361
434
|
RSpec/Pending:
|
362
|
-
Enabled: false
|
363
435
|
Description: Checks for any pending or skipped examples.
|
436
|
+
Enabled: false
|
437
|
+
VersionAdded: '1.25'
|
364
438
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Pending
|
365
439
|
|
366
440
|
RSpec/PredicateMatcher:
|
@@ -372,103 +446,166 @@ RSpec/PredicateMatcher:
|
|
372
446
|
SupportedStyles:
|
373
447
|
- inflected
|
374
448
|
- explicit
|
449
|
+
SafeAutoCorrect: false
|
450
|
+
VersionAdded: '1.16'
|
375
451
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/PredicateMatcher
|
376
452
|
|
377
453
|
RSpec/ReceiveCounts:
|
378
|
-
Enabled: true
|
379
454
|
Description: Check for `once` and `twice` receive counts matchers usage.
|
455
|
+
Enabled: true
|
456
|
+
VersionAdded: '1.26'
|
380
457
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReceiveCounts
|
381
458
|
|
382
459
|
RSpec/ReceiveNever:
|
383
|
-
Enabled: true
|
384
460
|
Description: Prefer `not_to receive(...)` over `receive(...).never`.
|
461
|
+
Enabled: true
|
462
|
+
VersionAdded: '1.28'
|
385
463
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReceiveNever
|
386
464
|
|
387
465
|
RSpec/RepeatedDescription:
|
388
|
-
Enabled: true
|
389
466
|
Description: Check for repeated description strings in example groups.
|
467
|
+
Enabled: true
|
468
|
+
VersionAdded: '1.9'
|
390
469
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedDescription
|
391
470
|
|
392
471
|
RSpec/RepeatedExample:
|
393
|
-
Enabled: true
|
394
472
|
Description: Check for repeated examples within example groups.
|
473
|
+
Enabled: true
|
474
|
+
VersionAdded: '1.10'
|
395
475
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExample
|
396
476
|
|
397
|
-
RSpec/
|
477
|
+
RSpec/RepeatedExampleGroupBody:
|
478
|
+
Description: Check for repeated describe and context block body.
|
398
479
|
Enabled: true
|
480
|
+
VersionAdded: '1.38'
|
481
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExampleGroupBody
|
482
|
+
|
483
|
+
RSpec/RepeatedExampleGroupDescription:
|
484
|
+
Description: Check for repeated example group descriptions.
|
485
|
+
Enabled: true
|
486
|
+
VersionAdded: '1.38'
|
487
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExampleGroupDescription
|
488
|
+
|
489
|
+
RSpec/ReturnFromStub:
|
399
490
|
Description: Checks for consistent style of stub's return setting.
|
491
|
+
Enabled: true
|
400
492
|
EnforcedStyle: and_return
|
401
493
|
SupportedStyles:
|
402
494
|
- and_return
|
403
495
|
- block
|
496
|
+
VersionAdded: '1.16'
|
497
|
+
VersionChanged: '1.22'
|
404
498
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReturnFromStub
|
405
499
|
|
406
500
|
RSpec/ScatteredLet:
|
407
501
|
Description: Checks for let scattered across the example group.
|
408
502
|
Enabled: true
|
503
|
+
VersionAdded: '1.14'
|
504
|
+
VersionChanged: '1.39'
|
409
505
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ScatteredLet
|
410
506
|
|
411
507
|
RSpec/ScatteredSetup:
|
412
508
|
Description: Checks for setup scattered across multiple hooks in an example group.
|
413
509
|
Enabled: true
|
510
|
+
VersionAdded: '1.10'
|
414
511
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ScatteredSetup
|
415
512
|
|
416
513
|
RSpec/SharedContext:
|
417
514
|
Description: Checks for proper shared_context and shared_examples usage.
|
418
515
|
Enabled: true
|
516
|
+
VersionAdded: '1.13'
|
419
517
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SharedContext
|
420
518
|
|
421
519
|
RSpec/SharedExamples:
|
422
520
|
Description: Enforces use of string to titleize shared examples.
|
423
521
|
Enabled: true
|
522
|
+
VersionAdded: '1.25'
|
424
523
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SharedExamples
|
425
524
|
|
426
525
|
RSpec/SingleArgumentMessageChain:
|
427
526
|
Description: Checks that chains of messages contain more than one element.
|
428
527
|
Enabled: true
|
528
|
+
VersionAdded: '1.9'
|
529
|
+
VersionChanged: '1.10'
|
429
530
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SingleArgumentMessageChain
|
430
531
|
|
431
532
|
RSpec/SubjectStub:
|
432
533
|
Description: Checks for stubbed test subjects.
|
433
534
|
Enabled: true
|
535
|
+
VersionAdded: '1.7'
|
434
536
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SubjectStub
|
435
537
|
|
436
538
|
RSpec/UnspecifiedException:
|
437
539
|
Description: Checks for a specified error in checking raised errors.
|
438
540
|
Enabled: true
|
541
|
+
VersionAdded: '1.30'
|
439
542
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/UnspecifiedException
|
440
543
|
|
544
|
+
RSpec/VariableDefinition:
|
545
|
+
Description: Checks that memoized helpers names are symbols or strings.
|
546
|
+
Enabled: true
|
547
|
+
EnforcedStyle: symbols
|
548
|
+
SupportedStyles:
|
549
|
+
- symbols
|
550
|
+
- strings
|
551
|
+
VersionAdded: '1.40'
|
552
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableDefinition
|
553
|
+
|
554
|
+
RSpec/VariableName:
|
555
|
+
Description: Checks that memoized helper names use the configured style.
|
556
|
+
Enabled: true
|
557
|
+
EnforcedStyle: snake_case
|
558
|
+
SupportedStyles:
|
559
|
+
- snake_case
|
560
|
+
- camelCase
|
561
|
+
VersionAdded: '1.40'
|
562
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableName
|
563
|
+
|
441
564
|
RSpec/VerifiedDoubles:
|
442
565
|
Description: Prefer using verifying doubles over normal doubles.
|
443
566
|
Enabled: true
|
444
567
|
IgnoreNameless: true
|
445
568
|
IgnoreSymbolicNames: false
|
569
|
+
VersionAdded: 1.2.1
|
570
|
+
VersionChanged: '1.5'
|
446
571
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VerifiedDoubles
|
447
572
|
|
448
573
|
RSpec/VoidExpect:
|
449
574
|
Description: This cop checks void `expect()`.
|
450
575
|
Enabled: true
|
576
|
+
VersionAdded: '1.16'
|
451
577
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VoidExpect
|
452
578
|
|
453
579
|
RSpec/Yield:
|
454
580
|
Description: This cop checks for calling a block within a stub.
|
455
581
|
Enabled: true
|
582
|
+
VersionAdded: '1.32'
|
456
583
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
|
457
584
|
|
458
585
|
Capybara/CurrentPathExpectation:
|
459
586
|
Description: Checks that no expectations are set on Capybara's `current_path`.
|
460
587
|
Enabled: true
|
588
|
+
VersionAdded: '1.18'
|
461
589
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
|
462
590
|
|
463
591
|
Capybara/FeatureMethods:
|
464
592
|
Description: Checks for consistent method usage in feature specs.
|
465
593
|
Enabled: true
|
466
594
|
EnabledMethods: []
|
595
|
+
VersionAdded: '1.17'
|
596
|
+
VersionChanged: '1.25'
|
467
597
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
|
468
598
|
|
599
|
+
Capybara/VisibilityMatcher:
|
600
|
+
Description: Checks for boolean visibility in capybara finders.
|
601
|
+
Enabled: true
|
602
|
+
VersionAdded: '1.39'
|
603
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
|
604
|
+
|
469
605
|
FactoryBot/AttributeDefinedStatically:
|
470
606
|
Description: Always declare attribute values as blocks.
|
471
607
|
Enabled: true
|
608
|
+
VersionAdded: '1.28'
|
472
609
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
|
473
610
|
|
474
611
|
FactoryBot/CreateList:
|
@@ -478,11 +615,13 @@ FactoryBot/CreateList:
|
|
478
615
|
SupportedStyles:
|
479
616
|
- create_list
|
480
617
|
- n_times
|
618
|
+
VersionAdded: '1.25'
|
481
619
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
|
482
620
|
|
483
621
|
FactoryBot/FactoryClassName:
|
484
622
|
Description: Use string value when setting the class attribute explicitly.
|
485
623
|
Enabled: true
|
624
|
+
VersionAdded: '1.37'
|
486
625
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
|
487
626
|
|
488
627
|
Rails/HttpStatus:
|
@@ -492,4 +631,5 @@ Rails/HttpStatus:
|
|
492
631
|
SupportedStyles:
|
493
632
|
- numeric
|
494
633
|
- symbolic
|
634
|
+
VersionAdded: '1.23'
|
495
635
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus
|