Testing Basics
Assert Equal
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
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}"
expected ← 4
5expected→ 4 = 4 #@expected=3, 56actual = add(2, 2)7passed = actual == expecteddef add(a, b)
1def add(a2, b2)2 a2 + b23endactual ← 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
expected ← 3
5expected→ 3 = 36actual = add(2, 2)7passed = actual == expecteddef add(a, b)
1def add(a2, b2)2 a2 + b23endactual ← 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
expected ← 5
5expected→ 5 = 56actual = add(2, 2)7passed = actual == expecteddef add(a, b)
1def add(a2, b2)2 a2 + b23endactual ← 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