class RuboCop::Cop::RSpecRails::MinitestAssertions
expect(a).to be(false)
expect(a).to be(true)
expect(a).not_to be_empty
expect(a).to eq(nil)
expect(b).not_to eq(a)
expect(a).not_to include(b)
expect(b).to(eq(a), “must be equal”)
expect(b).to eq(a)
# good
assert_false(a)
assert_true(a)
refute_empty(b)
assert_nil a
refute_equal(a, b)
assert_not_includes a, b
assert_equal a, b, “must be equal”
assert_equal(a, b)
# bad
@example
starting with ‘assert_` or `refute_`.
Check the use of minitest-like matchers
Check if using Minitest-like matchers.
def message(preferred)
def message(preferred) format(MSG, prefer: preferred) end
def on_assertion(node, assertion)
def on_assertion(node, assertion) preferred = assertion.replaced(node) add_offense(node, message: message(preferred)) do |corrector| corrector.replace(node, preferred) end end
def on_send(node)
def on_send(node) ASSERTION_MATCHERS.each do |m| m.minitest_assertion(node) do |*args| assertion = m.match(*args) next if assertion.nil? on_assertion(node, assertion) end end end