Draft: Add new RuboCop rule `RSpec/AggregateExamples` of test-prof
What does this MR do and why?
This MR introduces a new RSpec/AggregateExamples
.
See https://test-prof.evilmartians.io/#/misc/rubocop?id=rspecaggregateexamples:
This cop encourages you to use one of the greatest features of the recent RSpec - aggregating failures within an example.
Draft?
TODO The question is why? Show-case some examples where apply this
Screenshots or screen recordings
Top 50 offenders:
$ be rubocop -f worst --only RSpec/AggregateExamples --parallel
555 spec/lib/gitlab/regex_spec.rb
272 spec/features/security/project/internal_access_spec.rb
271 spec/features/security/project/public_access_spec.rb
248 spec/features/security/project/private_access_spec.rb
205 spec/models/application_setting_spec.rb
196 spec/models/packages/package_spec.rb
183 spec/models/project_spec.rb
158 spec/models/member_spec.rb
140 spec/models/user_spec.rb
115 ee/spec/models/application_setting_spec.rb
86 spec/policies/project_policy_spec.rb
72 spec/lib/gitlab/git/blob_spec.rb
71 spec/lib/gitlab/path_regex_spec.rb
66 ee/spec/policies/group_policy_spec.rb
64 spec/features/security/project/snippet/public_access_spec.rb
61 ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb
60 ee/spec/policies/project_policy_spec.rb
56 spec/models/group_spec.rb
48 ee/spec/models/ee/vulnerability_spec.rb
48 spec/features/security/group/private_access_spec.rb
48 spec/features/security/project/snippet/internal_access_spec.rb
46 spec/models/ci/pipeline_spec.rb
42 ee/spec/models/project_spec.rb
40 spec/features/security/group/internal_access_spec.rb
40 spec/features/security/group/public_access_spec.rb
38 ee/spec/models/vulnerabilities/finding_spec.rb
38 spec/lib/gitlab/import_export/project/tree_restorer_spec.rb
37 spec/models/ci/build_spec.rb
37 spec/models/clusters/cluster_spec.rb
37 spec/models/hooks/web_hook_spec.rb
37 spec/models/namespace_spec.rb
35 spec/lib/gitlab/ci/status/build/factory_spec.rb
34 spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb
31 spec/models/issue_spec.rb
30 ee/spec/models/ee/group_spec.rb
30 spec/mailers/emails/profile_spec.rb
29 spec/lib/gitlab/regex_requires_app_spec.rb
28 spec/models/merge_request_spec.rb
26 ee/spec/lib/gitlab/pagination_delegate_spec.rb
25 spec/lib/gitlab/git/tree_spec.rb
25 spec/models/packages/conan/metadatum_spec.rb
23 spec/lib/gitlab/git/commit_spec.rb
22 spec/graphql/types/project_type_spec.rb
22 spec/models/integrations/datadog_spec.rb
22 spec/support/shared_examples/models/packages/debian/distribution_shared_examples.rb
21 ee/spec/features/security/project/internal_access_spec.rb
21 ee/spec/features/security/project/private_access_spec.rb
21 ee/spec/features/security/project/public_access_spec.rb
21 ee/spec/models/epic_spec.rb
How to set up and validate locally
bin/rake rubocop:todo:generate[RSpec/AggregateExamples]
bundle exec rubocop --auto-correct --only RSpec/AggregateExamples spec/features/security/project/internal_access_spec.rb
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Peter Leitzen