以下是Go语言基础单元测试与性能测试的完整攻略:
单元测试
- 创建一个名为
example_test.go
的测试文件,文件名以_test.go
结尾。 - 导入
testing
包。 - 创建一个以
Test
开头的测试函数,并接收一个*testing.T
类型的参数。 - 在测试函数中编写测试逻辑,使用
t.Errorf()
或t.Fatalf()
来报告测试失败。 - 运行测试命令
go test
来执行测试。
示例1:测试字符串反转函数
package main
import (
\t\"testing\"
)
func TestReverseString(t *testing.T) {
\tinput := \"Hello, World!\"
\texpected := \"!dlroW ,olleH\"
\toutput := ReverseString(input)
\tif output != expected {
\t\tt.Errorf(\"Expected %s, but got %s\", expected, output)
\t}
}
示例2:测试整数相加函数
package main
import (
\t\"testing\"
)
func TestAddNumbers(t *testing.T) {
\tnum1 := 5
\tnum2 := 10
\texpected := 15
\toutput := AddNumbers(num1, num2)
\tif output != expected {
\t\tt.Errorf(\"Expected %d, but got %d\", expected, output)
\t}
}
性能测试
- 创建一个名为
example_test.go
的测试文件,文件名以_test.go
结尾。 - 导入
testing
和time
包。 - 创建一个以
Benchmark
开头的性能测试函数,并接收一个*testing.B
类型的参数。 - 在性能测试函数中使用
b.ResetTimer()
重置计时器,并使用b.StartTimer()
和b.StopTimer()
来控制测试的时间。 - 使用
b.N
来获取测试的迭代次数。 - 运行性能测试命令
go test -bench=.
来执行性能测试。
示例1:性能测试字符串反转函数
package main
import (
\t\"testing\"
)
func BenchmarkReverseString(b *testing.B) {
\tinput := \"Hello, World!\"
\tfor i := 0; i < b.N; i++ {
\t\tReverseString(input)
\t}
}
示例2:性能测试整数相加函数
package main
import (
\t\"testing\"
)
func BenchmarkAddNumbers(b *testing.B) {
\tnum1 := 5
\tnum2 := 10
\tfor i := 0; i < b.N; i++ {
\t\tAddNumbers(num1, num2)
\t}
}
以上是Go语言基础单元测试与性能测试的完整攻略。您可以根据需要进行定制和优化代码,以满足您的具体需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Go语言基础单元测试与性能测试示例详解 - Python技术站