A basic equality check compares the value a method returned with the value the test expected.

assertion An assertion is a small check that reports whether an expected result matches the actual result.

Assert Equal

expected
assert_equal.rb
Replay: real traced execution (multi-file project)
def add(a, b)
  a + b
end

expected = 4
actual = add(2, 2)
passed = actual == expected
status = passed ? "pass" : "fail"

puts "actual=#{actual}"
puts "expected=#{expected}"
puts "status=#{status}"
def add(a, b)
  a + b
end

expected = 3
actual = add(2, 2)
passed = actual == expected
status = passed ? "pass" : "fail"

puts "actual=#{actual}"
puts "expected=#{expected}"
puts "status=#{status}"
def add(a, b)
  a + b
end

expected = 5
actual = add(2, 2)
passed = actual == expected
status = passed ? "pass" : "fail"

puts "actual=#{actual}"
puts "expected=#{expected}"
puts "status=#{status}"
  1. expected ← 4

    5expected→ 4 = 4  #@expected=3, 56actual = add(2, 2)7passed = actual == expected
  2. def add(a, b)

    1def add(a2, b2)2  a2 + b23end
  3. actual ← 4, passed ← true, status ← pass

    5expected = 4  #@expected=3, 56actual→ 4 = add(2, 2)7passed→ true = actual4 == expected48status→ pass = passedtrue ? "pass" : "fail"910puts "actual=#{actual4}"11puts "expected=#{expected4}"12puts "status=#{statuspass}"
    outputactual=4
    expected=4
    status=pass
  1. expected ← 3

    5expected→ 3 = 36actual = add(2, 2)7passed = actual == expected
  2. def add(a, b)

    1def add(a2, b2)2  a2 + b23end
  3. actual ← 4, passed ← false, status ← fail

    5expected = 36actual→ 4 = add(2, 2)7passed→ false = actual4 == expected38status→ fail = passedfalse ? "pass" : "fail"910puts "actual=#{actual4}"11puts "expected=#{expected3}"12puts "status=#{statusfail}"
    outputactual=4
    expected=3
    status=fail
  1. expected ← 5

    5expected→ 5 = 56actual = add(2, 2)7passed = actual == expected
  2. def add(a, b)

    1def add(a2, b2)2  a2 + b23end
  3. actual ← 4, passed ← false, status ← fail

    5expected = 56actual→ 4 = add(2, 2)7passed→ false = actual4 == expected58status→ fail = passedfalse ? "pass" : "fail"910puts "actual=#{actual4}"11puts "expected=#{expected5}"12puts "status=#{statusfail}"
    outputactual=4
    expected=5
    status=fail