rubocop-rspec 1.27.0 → 1.28.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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +1 -1
  4. data/config/default.yml +15 -10
  5. data/lib/rubocop/cop/rspec/describe_method.rb +1 -1
  6. data/lib/rubocop/cop/rspec/empty_example_group.rb +1 -1
  7. data/lib/rubocop/cop/rspec/empty_line_after_example_group.rb +2 -4
  8. data/lib/rubocop/cop/rspec/empty_line_after_final_let.rb +1 -3
  9. data/lib/rubocop/cop/rspec/empty_line_after_hook.rb +1 -3
  10. data/lib/rubocop/cop/rspec/empty_line_after_subject.rb +1 -3
  11. data/lib/rubocop/cop/rspec/example_without_description.rb +3 -4
  12. data/lib/rubocop/cop/rspec/expect_in_hook.rb +8 -23
  13. data/lib/rubocop/cop/rspec/expect_output.rb +0 -2
  14. data/lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb +146 -0
  15. data/lib/rubocop/cop/rspec/instance_spy.rb +0 -2
  16. data/lib/rubocop/cop/rspec/iterated_expectation.rb +1 -1
  17. data/lib/rubocop/cop/rspec/leading_subject.rb +1 -6
  18. data/lib/rubocop/cop/rspec/let_before_examples.rb +0 -2
  19. data/lib/rubocop/cop/rspec/missing_example_group_argument.rb +35 -0
  20. data/lib/rubocop/cop/rspec/multiple_expectations.rb +1 -1
  21. data/lib/rubocop/cop/rspec/multiple_subjects.rb +4 -4
  22. data/lib/rubocop/cop/rspec/nested_groups.rb +1 -1
  23. data/lib/rubocop/cop/rspec/pending.rb +1 -1
  24. data/lib/rubocop/cop/rspec/receive_never.rb +43 -0
  25. data/lib/rubocop/cop/rspec/scattered_let.rb +0 -2
  26. data/lib/rubocop/cop/rspec/shared_context.rb +3 -3
  27. data/lib/rubocop/cop/rspec/void_expect.rb +1 -1
  28. data/lib/rubocop/cop/rspec_cops.rb +4 -3
  29. data/lib/rubocop/rspec/align_let_brace.rb +1 -3
  30. data/lib/rubocop/rspec/blank_line_separation.rb +6 -0
  31. data/lib/rubocop/rspec/example_group.rb +0 -7
  32. data/lib/rubocop/rspec/language/node_pattern.rb +6 -0
  33. data/lib/rubocop/rspec/version.rb +1 -1
  34. data/rubocop-rspec.gemspec +2 -2
  35. data/spec/project/project_requires_spec.rb +13 -3
  36. data/spec/rubocop/cop/rspec/before_after_all_spec.rb +2 -2
  37. data/spec/rubocop/cop/rspec/empty_line_after_example_group_spec.rb +15 -0
  38. data/spec/rubocop/cop/rspec/factory_bot/attribute_defined_statically_spec.rb +156 -0
  39. data/spec/rubocop/cop/rspec/let_before_examples_spec.rb +0 -5
  40. data/spec/rubocop/cop/rspec/missing_example_group_argument_spec.rb +55 -0
  41. data/spec/rubocop/cop/rspec/overwriting_setup_spec.rb +0 -5
  42. data/spec/rubocop/cop/rspec/receive_never_spec.rb +45 -0
  43. data/spec/rubocop/cop/rspec/scattered_let_spec.rb +0 -5
  44. data/spec/shared/smoke_test_examples.rb +25 -0
  45. data/spec/smoke_tests/empty_spec.rb +0 -0
  46. data/spec/smoke_tests/factory_bot_spec.rb +11 -0
  47. data/spec/smoke_tests/no_tests_spec.rb +4 -0
  48. data/spec/smoke_tests/weird_rspec_spec.rb +233 -0
  49. data/spec/spec_helper.rb +4 -0
  50. metadata +24 -11
  51. data/lib/rubocop/cop/rspec/factory_bot/dynamic_attribute_defined_statically.rb +0 -93
  52. data/lib/rubocop/cop/rspec/factory_bot/static_attribute_defined_dynamically.rb +0 -81
  53. data/spec/rubocop/cop/rspec/factory_bot/dynamic_attribute_defined_statically_spec.rb +0 -139
  54. data/spec/rubocop/cop/rspec/factory_bot/static_attribute_defined_dynamically_spec.rb +0 -107
@@ -86,11 +86,6 @@ RSpec.describe RuboCop::Cop::RSpec::LetBeforeExamples do
86
86
  RUBY
87
87
  end
88
88
 
89
- it 'does not encounter an error when handling an empty describe' do
90
- expect { inspect_source('RSpec.describe(User) do end', 'a_spec.rb') }
91
- .not_to raise_error
92
- end
93
-
94
89
  bad_code = <<-RUBY
95
90
  RSpec.describe User do
96
91
  include_examples('should be after let')
@@ -0,0 +1,55 @@
1
+ RSpec.describe RuboCop::Cop::RSpec::MissingExampleGroupArgument do
2
+ subject(:cop) { described_class.new }
3
+
4
+ it 'accepts describe with an argument' do
5
+ expect_no_offenses(<<-RUBY)
6
+ describe FooClass do
7
+ end
8
+
9
+ RSpec.describe FooClass do
10
+ end
11
+ RUBY
12
+ end
13
+
14
+ it 'accepts methods with a name like an example block' do
15
+ expect_no_offenses(<<-RUBY)
16
+ Scenario.context do
17
+ 'static'
18
+ end
19
+ RUBY
20
+ end
21
+
22
+ it 'checks first argument of describe' do
23
+ expect_offense(<<-RUBY)
24
+ describe do
25
+ ^^^^^^^^^^^ The first argument to `describe` should not be empty.
26
+ end
27
+
28
+ RSpec.describe do
29
+ ^^^^^^^^^^^^^^^^^ The first argument to `describe` should not be empty.
30
+ end
31
+ RUBY
32
+ end
33
+
34
+ it 'checks first argument of nested describe' do
35
+ expect_offense(<<-RUBY)
36
+ describe FooClass do
37
+ describe do
38
+ ^^^^^^^^^^^ The first argument to `describe` should not be empty.
39
+ end
40
+
41
+ RSpec.describe do
42
+ ^^^^^^^^^^^^^^^^^ The first argument to `describe` should not be empty.
43
+ end
44
+ end
45
+ RUBY
46
+ end
47
+
48
+ it 'checks first argument of context' do
49
+ expect_offense(<<-RUBY)
50
+ context do
51
+ ^^^^^^^^^^ The first argument to `context` should not be empty.
52
+ end
53
+ RUBY
54
+ end
55
+ end
@@ -86,9 +86,4 @@ RSpec.describe RuboCop::Cop::RSpec::OverwritingSetup do
86
86
  end
87
87
  RUBY
88
88
  end
89
-
90
- it 'does not encounter an error when handling an empty describe' do
91
- expect { inspect_source('RSpec.describe(User) do end', 'a_spec.rb') }
92
- .not_to raise_error
93
- end
94
89
  end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe RuboCop::Cop::RSpec::ReceiveNever do
4
+ subject(:cop) { described_class.new }
5
+
6
+ it 'flags usage of `never`' do
7
+ expect_offense(<<-RUBY)
8
+ expect(foo).to receive(:bar).never
9
+ ^^^^^ Use `not_to receive` instead of `never`.
10
+ RUBY
11
+ end
12
+
13
+ it 'flags usage of `never` after `with`' do
14
+ expect_offense(<<-RUBY)
15
+ expect(foo).to receive(:bar).with(baz).never
16
+ ^^^^^ Use `not_to receive` instead of `never`.
17
+ RUBY
18
+ end
19
+
20
+ it 'flags usage of `never` with `is_expected`' do
21
+ expect_offense(<<-RUBY)
22
+ is_expected.to receive(:bar).with(baz).never
23
+ ^^^^^ Use `not_to receive` instead of `never`.
24
+ RUBY
25
+ end
26
+
27
+ it 'flags usage of `never` with `expect_any_instance_of`' do
28
+ expect_offense(<<-RUBY)
29
+ expect_any_instance_of(Foo).to receive(:bar).with(baz).never
30
+ ^^^^^ Use `not_to receive` instead of `never`.
31
+ RUBY
32
+ end
33
+
34
+ it 'allows method called `never`' do
35
+ expect_no_offenses(<<-RUBY)
36
+ expect(foo).to receive(:bar).with(Value.never)
37
+ expect(foo.never).to eq(bar.never)
38
+ is_expected.to be never
39
+ RUBY
40
+ end
41
+
42
+ include_examples 'autocorrect',
43
+ 'expect(foo).to receive(:bar).with(0).never',
44
+ 'expect(foo).not_to receive(:bar).with(0)'
45
+ end
@@ -23,9 +23,4 @@ RSpec.describe RuboCop::Cop::RSpec::ScatteredLet do
23
23
  end
24
24
  RUBY
25
25
  end
26
-
27
- it 'does not encounter an error when handling an empty describe' do
28
- expect { inspect_source('RSpec.describe(User) do end', 'a_spec.rb') }
29
- .not_to raise_error
30
- end
31
26
  end
@@ -0,0 +1,25 @@
1
+ RSpec.shared_examples 'smoke test', type: :cop_spec do
2
+ context 'with default configuration' do
3
+ # This is overridden to avoid a number of specs that define `cop_config`
4
+ # (so it is referenced in the 'config' shared context) but do not define
5
+ # all of the dependent configuration options until inside of a context
6
+ # that is out of scope, causing a NameError.
7
+ let(:cop_config) { {} }
8
+
9
+ stress_tests = Pathname.glob('spec/smoke_tests/*.rb')
10
+
11
+ raise 'No smoke tests could be found!' if stress_tests.empty?
12
+
13
+ stress_tests.each do |path|
14
+ it "does not crash on smoke test: #{path}" do
15
+ source = path.read
16
+ file_name = path.to_s
17
+
18
+ aggregate_failures do
19
+ expect { inspect_source(source, file_name) }.not_to raise_error
20
+ expect { autocorrect_source(source, file_name) }.not_to raise_error
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
File without changes
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Since FactoryBot is not a dependency, none of this should be executed. We just
4
+ # need the AST to exist.
5
+ if false
6
+ FactoryBot.define do
7
+ factory :foo do
8
+ bar {}
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal:
2
+
3
+ # This is sort of a test, but there's no rspec to see here.
4
+ raise 'Uh oh, the Party seems to have gotten into ruby.' if 2 + 2 == 5
@@ -0,0 +1,233 @@
1
+ RSpec.describe 'Weirdness' do
2
+ subject! { nil }
3
+ subject { nil }
4
+ subject(:foo) { nil }
5
+ subject!(:foo) { nil }
6
+
7
+ subject! (:foo) { |something| nil }
8
+ subject :foo do end
9
+
10
+ let(:foo) { |something| something }
11
+ let (:foo) { 1 }
12
+ let! (:bar){}
13
+
14
+ let :a do end
15
+
16
+ let(:bar) { <<-HEREDOC }
17
+ What a pain.
18
+ HEREDOC
19
+
20
+ let(:bar) { <<-'HEREDOC' }
21
+ Even odder.
22
+ HEREDOC
23
+
24
+ let(:baz) do
25
+ <<-INSIDE
26
+ Hi. I'm in your lets.
27
+ INSIDE
28
+ end
29
+
30
+ let(:hi) {}
31
+ let(:bye) do
32
+ end
33
+
34
+ let(:doop) { foo; 1 }
35
+
36
+ it {}
37
+ specify {}
38
+
39
+ it 'works', metadata: true do
40
+ end
41
+
42
+ describe {}
43
+ context {}
44
+
45
+ describe '#nothing' do
46
+ end
47
+
48
+ it 'is empty' do
49
+ end
50
+
51
+ it '' do end
52
+ describe do end
53
+ context do end
54
+ shared_examples 'a' do end
55
+
56
+ describe 'things' do
57
+ context 'with context' do
58
+ end
59
+ end
60
+
61
+ shared_examples 'weird rspec' do
62
+ end
63
+
64
+ shared_examples :something do
65
+ end
66
+
67
+ context 'test' do
68
+ include_examples 'weird rspec'
69
+ include_examples('weird rspec', serious: true) do
70
+ it_behaves_like :something
71
+ end
72
+ end
73
+
74
+ it_behaves_like :something
75
+ it_should_behave_like :something
76
+
77
+ it_behaves_like :something do
78
+ let(:foo) { 'bar' }
79
+ end
80
+
81
+ it_behaves_like(:something) do |arg, *args, &block|
82
+ end
83
+
84
+ before {}
85
+ context 'never run' do
86
+ around {}
87
+ end
88
+ after {}
89
+
90
+ before { <<-DOC }
91
+ Eh, what's up?
92
+ DOC
93
+
94
+ around { |test| test.run; <<-DOC }
95
+ Eh, what's up?
96
+ DOC
97
+
98
+ after { <<-DOC }
99
+ Eh, what's up?
100
+ DOC
101
+
102
+ around do |test|
103
+ test.run
104
+ end
105
+
106
+ it 'is expecting you' do
107
+ expect('you').to eql('you')
108
+ end
109
+
110
+ it 'is expecting you not to raise an error' do
111
+ expect { 'you' }.not_to raise_error
112
+ end
113
+
114
+ it 'has chained expectations' do
115
+ expect('you').to eql('you').and(match(/y/))
116
+ end
117
+
118
+ %w[who likes dynamic examples].each do |word|
119
+ let(word) { word }
120
+
121
+ describe "#{word}" do
122
+ context "#{word}" do
123
+ it "lets the word '#{word}' be '#{word}'" do
124
+ expect(send(word)).to eql(word)
125
+ end
126
+ end
127
+ end
128
+ end
129
+
130
+ it { foo; 1 && 2}
131
+ it('has a description too') { foo; 1 && 2}
132
+
133
+ it %{quotes a string weird} do
134
+ end
135
+
136
+ it((' '.strip! ; 1 && 'isnt a simple string')) do
137
+ expect(nil).to be(nil)
138
+ end
139
+
140
+ it((' '.strip! ; 1 && 'isnt a simple string')) do
141
+ double = double(:foo)
142
+
143
+ allow(double).to receive(:oogabooga).with(nil).and_return(nil)
144
+
145
+ expect(double.oogabooga(nil)).to be(nil)
146
+
147
+ expect(double).to have_received(:oogabooga).once
148
+ end
149
+
150
+ it 'uses a matcher' do
151
+ expect([].empty?).to be(true)
152
+ expect([]).to be_empty
153
+ end
154
+
155
+ let(:klass) do
156
+ Class.new do
157
+ def initialize(thing)
158
+ @thing = thing
159
+ end
160
+
161
+ def announce
162
+ 'wooo, so dynamic!'
163
+ end
164
+ end
165
+ end
166
+
167
+ it 'it does a thing' do
168
+ end
169
+
170
+ it 'It does a thing' do
171
+ end
172
+
173
+ it 'should not do the thing' do
174
+ end
175
+
176
+ specify do
177
+ foo = double(:bar)
178
+ allow(foo).to receive_message_chain(bar: 42, baz: 42)
179
+ allow(foo).to receive(:bar)
180
+ allow(foo).to receive_messages(bar: 42, baz: 42)
181
+ end
182
+ end
183
+
184
+ RSpec.describe {}
185
+ RSpec.shared_examples('pointless') {}
186
+ RSpec.shared_context('even pointless-er') {}
187
+ RSpec.describe do end
188
+ RSpec.shared_examples('pointless2') do end
189
+ RSpec.shared_context('even pointless-er2') do end
190
+
191
+ class Broken
192
+ end
193
+
194
+ RSpec.describe Broken do
195
+ end
196
+
197
+ RSpec.describe 'RubocopBug' do
198
+ subject { true }
199
+
200
+ before do
201
+ each_row = allow(double(:exporter)).to receive(:each_row)
202
+
203
+ [1, 2].each do |sig|
204
+ each_row = each_row.and_yield(sig)
205
+ end
206
+ end
207
+
208
+ it 'has a single example' do
209
+ expect(subject).to be_truthy
210
+ end
211
+
212
+ it 'has an expectation' do
213
+ stats = double(event: nil)
214
+
215
+ stats.event('tada!')
216
+
217
+ expect(stats)
218
+ .to have_received(:event)
219
+ .with('tada!')
220
+ end
221
+ end
222
+
223
+ RSpec.describe do
224
+ let(:uh_oh) { <<-HERE.strip + ", #{<<-THERE.strip}" }
225
+ Seriously
226
+ HERE
227
+ who designed these things?
228
+ THERE
229
+
230
+ it 'is insane' do
231
+ expect(uh_oh).to eql('Seriously, who designed these things?')
232
+ end
233
+ end
@@ -15,6 +15,10 @@ spec_helper_glob = File.expand_path('{support,shared}/*.rb', __dir__)
15
15
  Dir.glob(spec_helper_glob).map(&method(:require))
16
16
 
17
17
  RSpec.configure do |config|
18
+ config.define_derived_metadata(file_path: %r{/spec/rubocop/cop/}) do |meta|
19
+ meta[:type] = :cop_spec
20
+ end
21
+
18
22
  config.order = :random
19
23
 
20
24
  config.expect_with :rspec do |expectations|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.27.0
4
+ version: 1.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Backus
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-06-14 00:00:00.000000000 Z
13
+ date: 2018-08-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rubocop
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 0.56.0
21
+ version: 0.58.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 0.56.0
28
+ version: 0.58.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rack
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -143,9 +143,8 @@ files:
143
143
  - lib/rubocop/cop/rspec/expect_change.rb
144
144
  - lib/rubocop/cop/rspec/expect_in_hook.rb
145
145
  - lib/rubocop/cop/rspec/expect_output.rb
146
+ - lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb
146
147
  - lib/rubocop/cop/rspec/factory_bot/create_list.rb
147
- - lib/rubocop/cop/rspec/factory_bot/dynamic_attribute_defined_statically.rb
148
- - lib/rubocop/cop/rspec/factory_bot/static_attribute_defined_dynamically.rb
149
148
  - lib/rubocop/cop/rspec/file_path.rb
150
149
  - lib/rubocop/cop/rspec/focus.rb
151
150
  - lib/rubocop/cop/rspec/hook_argument.rb
@@ -161,6 +160,7 @@ files:
161
160
  - lib/rubocop/cop/rspec/message_chain.rb
162
161
  - lib/rubocop/cop/rspec/message_expectation.rb
163
162
  - lib/rubocop/cop/rspec/message_spies.rb
163
+ - lib/rubocop/cop/rspec/missing_example_group_argument.rb
164
164
  - lib/rubocop/cop/rspec/multiple_describes.rb
165
165
  - lib/rubocop/cop/rspec/multiple_expectations.rb
166
166
  - lib/rubocop/cop/rspec/multiple_subjects.rb
@@ -172,6 +172,7 @@ files:
172
172
  - lib/rubocop/cop/rspec/predicate_matcher.rb
173
173
  - lib/rubocop/cop/rspec/rails/http_status.rb
174
174
  - lib/rubocop/cop/rspec/receive_counts.rb
175
+ - lib/rubocop/cop/rspec/receive_never.rb
175
176
  - lib/rubocop/cop/rspec/repeated_description.rb
176
177
  - lib/rubocop/cop/rspec/repeated_example.rb
177
178
  - lib/rubocop/cop/rspec/return_from_stub.rb
@@ -235,9 +236,8 @@ files:
235
236
  - spec/rubocop/cop/rspec/expect_change_spec.rb
236
237
  - spec/rubocop/cop/rspec/expect_in_hook_spec.rb
237
238
  - spec/rubocop/cop/rspec/expect_output_spec.rb
239
+ - spec/rubocop/cop/rspec/factory_bot/attribute_defined_statically_spec.rb
238
240
  - spec/rubocop/cop/rspec/factory_bot/create_list_spec.rb
239
- - spec/rubocop/cop/rspec/factory_bot/dynamic_attribute_defined_statically_spec.rb
240
- - spec/rubocop/cop/rspec/factory_bot/static_attribute_defined_dynamically_spec.rb
241
241
  - spec/rubocop/cop/rspec/file_path_spec.rb
242
242
  - spec/rubocop/cop/rspec/focus_spec.rb
243
243
  - spec/rubocop/cop/rspec/hook_argument_spec.rb
@@ -253,6 +253,7 @@ files:
253
253
  - spec/rubocop/cop/rspec/message_chain_spec.rb
254
254
  - spec/rubocop/cop/rspec/message_expectation_spec.rb
255
255
  - spec/rubocop/cop/rspec/message_spies_spec.rb
256
+ - spec/rubocop/cop/rspec/missing_example_group_argument_spec.rb
256
257
  - spec/rubocop/cop/rspec/multiple_describes_spec.rb
257
258
  - spec/rubocop/cop/rspec/multiple_expectations_spec.rb
258
259
  - spec/rubocop/cop/rspec/multiple_subjects_spec.rb
@@ -264,6 +265,7 @@ files:
264
265
  - spec/rubocop/cop/rspec/predicate_matcher_spec.rb
265
266
  - spec/rubocop/cop/rspec/rails/http_status_spec.rb
266
267
  - spec/rubocop/cop/rspec/receive_counts_spec.rb
268
+ - spec/rubocop/cop/rspec/receive_never_spec.rb
267
269
  - spec/rubocop/cop/rspec/repeated_description_spec.rb
268
270
  - spec/rubocop/cop/rspec/repeated_example_spec.rb
269
271
  - spec/rubocop/cop/rspec/return_from_stub_spec.rb
@@ -285,6 +287,11 @@ files:
285
287
  - spec/rubocop/rspec/wording_spec.rb
286
288
  - spec/shared/autocorrect_behavior.rb
287
289
  - spec/shared/detects_style_behavior.rb
290
+ - spec/shared/smoke_test_examples.rb
291
+ - spec/smoke_tests/empty_spec.rb
292
+ - spec/smoke_tests/factory_bot_spec.rb
293
+ - spec/smoke_tests/no_tests_spec.rb
294
+ - spec/smoke_tests/weird_rspec_spec.rb
288
295
  - spec/spec_helper.rb
289
296
  - spec/support/expect_offense.rb
290
297
  homepage: https://github.com/rubocop-hq/rubocop-rspec
@@ -301,7 +308,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
301
308
  requirements:
302
309
  - - ">="
303
310
  - !ruby/object:Gem::Version
304
- version: 2.1.0
311
+ version: 2.2.0
305
312
  required_rubygems_version: !ruby/object:Gem::Requirement
306
313
  requirements:
307
314
  - - ">="
@@ -344,9 +351,8 @@ test_files:
344
351
  - spec/rubocop/cop/rspec/expect_change_spec.rb
345
352
  - spec/rubocop/cop/rspec/expect_in_hook_spec.rb
346
353
  - spec/rubocop/cop/rspec/expect_output_spec.rb
354
+ - spec/rubocop/cop/rspec/factory_bot/attribute_defined_statically_spec.rb
347
355
  - spec/rubocop/cop/rspec/factory_bot/create_list_spec.rb
348
- - spec/rubocop/cop/rspec/factory_bot/dynamic_attribute_defined_statically_spec.rb
349
- - spec/rubocop/cop/rspec/factory_bot/static_attribute_defined_dynamically_spec.rb
350
356
  - spec/rubocop/cop/rspec/file_path_spec.rb
351
357
  - spec/rubocop/cop/rspec/focus_spec.rb
352
358
  - spec/rubocop/cop/rspec/hook_argument_spec.rb
@@ -362,6 +368,7 @@ test_files:
362
368
  - spec/rubocop/cop/rspec/message_chain_spec.rb
363
369
  - spec/rubocop/cop/rspec/message_expectation_spec.rb
364
370
  - spec/rubocop/cop/rspec/message_spies_spec.rb
371
+ - spec/rubocop/cop/rspec/missing_example_group_argument_spec.rb
365
372
  - spec/rubocop/cop/rspec/multiple_describes_spec.rb
366
373
  - spec/rubocop/cop/rspec/multiple_expectations_spec.rb
367
374
  - spec/rubocop/cop/rspec/multiple_subjects_spec.rb
@@ -373,6 +380,7 @@ test_files:
373
380
  - spec/rubocop/cop/rspec/predicate_matcher_spec.rb
374
381
  - spec/rubocop/cop/rspec/rails/http_status_spec.rb
375
382
  - spec/rubocop/cop/rspec/receive_counts_spec.rb
383
+ - spec/rubocop/cop/rspec/receive_never_spec.rb
376
384
  - spec/rubocop/cop/rspec/repeated_description_spec.rb
377
385
  - spec/rubocop/cop/rspec/repeated_example_spec.rb
378
386
  - spec/rubocop/cop/rspec/return_from_stub_spec.rb
@@ -394,5 +402,10 @@ test_files:
394
402
  - spec/rubocop/rspec/wording_spec.rb
395
403
  - spec/shared/autocorrect_behavior.rb
396
404
  - spec/shared/detects_style_behavior.rb
405
+ - spec/shared/smoke_test_examples.rb
406
+ - spec/smoke_tests/empty_spec.rb
407
+ - spec/smoke_tests/factory_bot_spec.rb
408
+ - spec/smoke_tests/no_tests_spec.rb
409
+ - spec/smoke_tests/weird_rspec_spec.rb
397
410
  - spec/spec_helper.rb
398
411
  - spec/support/expect_offense.rb