The Go standard library provides unit testing functionality through the testing package. Just create the _test.go file and write the test function. Test functions use assertion functions, such as AssertEqual and AssertTrue, to compare expected and actual results. Information about whether the test passed or failed will be displayed with the go test command.
The Go standard library provides the testing
package, which provides rich functions. For writing and running unit tests. This article will guide you on how to use the testing
package to test your Go code.
To set up unit tests for your Go program, follow these steps:
file.
Package:
import "testing"
func TestX(t *testing.T). Where
X is the name of the test case, and
t is a pointer of type
*testing.T, which provides functions for executing tests, reporting results, and logging errors Methods.
func TestPassingTest(t *testing.T) { // 测试用例的代码... }
testing The package provides a variety of assertion functions to compare test results with expected values. Commonly used assertion functions include:
: Check whether
expected and
actual are equal
: Check whether
value1 and
value2 are not equal
: Assert condition
condition is true
: Assert condition
condition is false
package my_package import ( "testing" ) func Sum(a, b int) int { return a + b }
Unit test
import ( "testing" "my_package" ) func TestSum(t *testing.T) { tests := []struct { a int b int expected int }{ {1, 2, 3}, {5, 7, 12}, } for _, tc := range tests { result := my_package.Sum(tc.a, tc.b) if result != tc.expected { t.Errorf("Sum(%d, %d) returned %d, expected %d", tc.a, tc.b, result, tc.expected) } } }
[]struct which contains the input values and expected output. We use a loop to iterate through the test cases and use the
AssertEqual assertion for each case to verify that the calculated result is consistent with the expected result.
go test
file and run the tests in it. Tests that run successfully will display a green pass message, while failed tests will display a red error message.
The above is the detailed content of How to use the Go standard library for unit testing. For more information, please follow other related articles on the PHP Chinese website!