Offend allow_any_instance_of and expect_any_instance_of in RSpec/SubjectStub#2094
Open
lovro-bikic wants to merge 1 commit into
Open
Offend allow_any_instance_of and expect_any_instance_of in RSpec/SubjectStub#2094lovro-bikic wants to merge 1 commit into
allow_any_instance_of and expect_any_instance_of in RSpec/SubjectStub#2094lovro-bikic wants to merge 1 commit into
Conversation
pirj
reviewed
Jul 24, 2025
| # | ||
| # # bad | ||
| # describe Article do | ||
| # subject { Article } |
Member
There was a problem hiding this comment.
I can’t recall if I’ve seen such usage ever before. Is this common?
Contributor
Author
There was a problem hiding this comment.
I've seen it a couple times, but I think this change makes even more sense in conjunction with this one #2088, which is part of the reason why I opened this PR.
allow_any_instance_of(described_class).to receive(:author) is common in my experience.
pirj
reviewed
Jul 24, 2025
| # subject { Article } | ||
| # | ||
| # it 'indicates that the author is unknown' do | ||
| # allow_any_instance_of(subject).to receive(:author).and_return(nil) |
Member
There was a problem hiding this comment.
This is a consequence of usage of the above subject definition.
Do you feel that allow_any_instance_of(Article).to receive(:author).and_return(nil) is wrong, and why?
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expands
RSpec/SubjectStubto offendallow_any_instance_ofandexpect_any_instance_ofon the subject (useful in case the subject is a class):Before submitting the PR make sure the following are checked:
master(if not - rebase it).CHANGELOG.mdif the new code introduces user-observable changes.bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).If you have created a new cop:
config/default.yml.Enabled: pendinginconfig/default.yml.Enabled: truein.rubocop.yml.VersionAdded: "<<next>>"indefault/config.yml.If you have modified an existing cop's configuration options:
VersionChanged: "<<next>>"inconfig/default.yml.