class RuboCop::Cop::RSpec::ExpectInHook
end
expect(something).to eq ‘foo’
it do
# good
end
expect_any_instance_of(Something).to receive(:foo)
after do
# bad
end
expect(something).to eq ‘foo’
before do
# bad
@example
Do not use ‘expect` in hooks such as `before`.
def message(expect, hook)
def message(expect, hook) format(MSG, expect: expect.method_name, hook: hook) end
def on_block(node)
def on_block(node) hook(node) do |hook_name, body| expect(body) do |expect| method = send_node(expect) add_offense(method, location: :selector, message: message(method, hook_name)) end end end
def send_node(node)
def send_node(node) return node if node.send_type? node.children.first end