Sha256: 5be90312fa3816e2d9b1824285db54149d8d9e2da4fb760511d0d65c30320556
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module RSpec # Do not use `expect` in hooks such as `before`. # # @example # # bad # before do # expect(something).to eq 'foo' # end # # # bad # after do # expect_any_instance_of(Something).to receive(:foo) # end # # # good # it do # expect(something).to eq 'foo' # end class ExpectInHook < Cop MSG = 'Do not use `%<expect>s` in `%<hook>s` hook' def_node_search :expectation, Expectations::ALL.send_pattern def on_block(node) return unless hook?(node) return if node.body.nil? expectation(node.body) do |expect| add_offense(expect.loc.selector, message: message(expect, node)) end end private def message(expect, hook) format(MSG, expect: expect.method_name, hook: hook.method_name) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.42.0 | lib/rubocop/cop/rspec/expect_in_hook.rb |