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

expected
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)
}
  1. expected ← 4

    9func main() {10  var expected→ 4 = 4 //@expected=3, 511  actual := add(2, 2)12  passed := actual == expected
  2. func add(a int, b int) int

    5func add(a2 int, b2 int) int {6  return a2 + b27}
  3. actual ← 4, passed ← true, status ← "fail"

    10var expected = 4 //@expected=3, 511actual→ 4 := add(2, 2)12passed→ true := actual4 == expected413status→ "fail" := "fail"14if passed {
  4. status ← "pass"

    13status := "fail"14if passedtrue {15  status→ "pass" = "pass"16}
  5. 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
  1. expected ← 3

    9func main() {10  var expected→ 3 = 311  actual := add(2, 2)12  passed := actual == expected
  2. func add(a int, b int) int

    5func add(a2 int, b2 int) int {6  return a2 + b27}
  3. 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
  1. expected ← 5

    9func main() {10  var expected→ 5 = 511  actual := add(2, 2)12  passed := actual == expected
  2. func add(a int, b int) int

    5func add(a2 int, b2 int) int {6  return a2 + b27}
  3. 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