Testing Basics
Assert Equal
A basic test compares the actual value from code with the expected value.
assertion
An assertion is a small check that reports whether a result matches the expected value.
Assert Equal
assert_equal.go
Replay: real traced execution (multi-file project)
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func main() {
var expected = 4
actual := add(2, 2)
passed := actual == expected
status := "fail"
if passed {
status = "pass"
}
fmt.Println("actual=", actual)
fmt.Println("expected=", expected)
fmt.Println("status=", status)
}
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func main() {
var expected = 3
actual := add(2, 2)
passed := actual == expected
status := "fail"
if passed {
status = "pass"
}
fmt.Println("actual=", actual)
fmt.Println("expected=", expected)
fmt.Println("status=", status)
}
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func main() {
var expected = 5
actual := add(2, 2)
passed := actual == expected
status := "fail"
if passed {
status = "pass"
}
fmt.Println("actual=", actual)
fmt.Println("expected=", expected)
fmt.Println("status=", status)
}
expected ← 4
9func main() {10 var expected→ 4 = 4 //@expected=3, 511 actual := add(2, 2)12 passed := actual == expectedfunc add(a int, b int) int
5func add(a2 int, b2 int) int {6 return a2 + b27}actual ← 4, passed ← true, status ← "fail"
10var expected = 4 //@expected=3, 511actual→ 4 := add(2, 2)12passed→ true := actual4 == expected413status→ "fail" := "fail"14if passed {status ← "pass"
13status := "fail"14if passedtrue {15 status→ "pass" = "pass"16}fmt.Println("actual=", actual)
18 fmt.Println("actual=", actual4)19 fmt.Println("expected=", expected4)20 fmt.Println("status=", status"pass")21}outputactual= 4 expected= 4 status= pass
expected ← 3
9func main() {10 var expected→ 3 = 311 actual := add(2, 2)12 passed := actual == expectedfunc add(a int, b int) int
5func add(a2 int, b2 int) int {6 return a2 + b27}actual ← 4, passed ← false, status ← "fail"
10 var expected = 311 actual→ 4 := add(2, 2)12 passed→ false := actual4 == expected313 status→ "fail" := "fail"14 if passed {15 status = "pass"16 }1718 fmt.Println("actual=", actual4)19 fmt.Println("expected=", expected3)20 fmt.Println("status=", status"fail")21}outputactual= 4 expected= 3 status= fail
expected ← 5
9func main() {10 var expected→ 5 = 511 actual := add(2, 2)12 passed := actual == expectedfunc add(a int, b int) int
5func add(a2 int, b2 int) int {6 return a2 + b27}actual ← 4, passed ← false, status ← "fail"
10 var expected = 511 actual→ 4 := add(2, 2)12 passed→ false := actual4 == expected513 status→ "fail" := "fail"14 if passed {15 status = "pass"16 }1718 fmt.Println("actual=", actual4)19 fmt.Println("expected=", expected5)20 fmt.Println("status=", status"fail")21}outputactual= 4 expected= 5 status= fail