Sha256: 0b379a15c9b50e3d8a100665a11bbaf4ac343e8f6d95328b9333a5dbd5994b49
Contents?: true
Size: 1.64 KB
Versions: 22
Compression:
Stored size: 1.64 KB
Contents
# frozen_string_literal: true RSpec.describe RuboCop::Cop::RSpec::NamedSubject do subject(:cop) { described_class.new } it 'checks `it` and `specify` for explicit subject usage' do expect_offense(<<-RUBY) RSpec.describe User do subject { described_class.new } it "is valid" do expect(subject.valid?).to be(true) ^^^^^^^ Name your test subject if you need to reference it explicitly. end specify do expect(subject.valid?).to be(true) ^^^^^^^ Name your test subject if you need to reference it explicitly. end end RUBY end it 'checks before and after for explicit subject usage' do expect_offense(<<-RUBY) RSpec.describe User do subject { described_class.new } before(:each) do do_something_with(subject) ^^^^^^^ Name your test subject if you need to reference it explicitly. end after do do_something_with(subject) ^^^^^^^ Name your test subject if you need to reference it explicitly. end end RUBY end it 'checks around(:each) for explicit subject usage' do expect_offense(<<-RUBY) RSpec.describe User do subject { described_class.new } around(:each) do |test| do_something_with(subject) ^^^^^^^ Name your test subject if you need to reference it explicitly. end end RUBY end it 'ignores subject when not wrapped inside a test' do expect_no_offenses(<<-RUBY) def foo it(subject) end RUBY end end
Version data entries
22 entries across 22 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.17.0 | spec/rubocop/cop/rspec/named_subject_spec.rb |
rubocop-rspec-1.16.0 | spec/rubocop/cop/rspec/named_subject_spec.rb |