Golang testing
From wikinotes
Go ships with a test suite.
Documentation
testing
https://pkg.go.dev/testing@go1.18.3
Usage
go test -run # run all tests go test -run Foo # run top-level tests containing 'Foo'
Example
The builtin go test framework is fairly minimalist.
Tests are just functions, you can loop them if useful,
And you can use the following tools to evaluate tests:func TestHello(t *testing.T) { // log message and fail (but continue executing) t.Errorf("An expectation was not satisfied") t.Fail() // mark test as failed, but continue t.FailNow() // mark test as failed and stop executing t.Skip("Reason") // log, and stop executing t.TempDir() // provides a tempdir that is deleted once test finishes running }// myproject/mypackage/mylib.go package mypackage func Hello(name string) string { return "Hello, " + name }// myproject/mypackage/mylib_test.go package mypackage import "testing" func TestHello(t *testing.T) { res := Hello("Adam") if res != "Hello, Adam" { t.Errorf("Hello() result did not match") } }