在Golang中,单元测试是通过编写测试函数来完成的。测试函数的命名规则是:以Test
开头,后面跟着要测试的函数名,并且接受一个*testing.T
类型的参数。测试文件应该与被测试的代码文件放在同一个目录下,并且以_test.go
为扩展名。
以下是一个简单的示例,展示了如何在Golang中进行单元测试:
main.go
的文件,包含一个简单的函数Add
:package main
func Add(a int, b int) int {
return a + b
}
main_test.go
的文件,用于编写测试函数:package main
import (
"testing"
)
func TestAdd(t *testing.T) {
result := Add(1, 2)
expected := 3
if result != expected {
t.Errorf("Add(1, 2) = %d; want %d", result, expected)
}
}
在这个例子中,我们定义了一个名为TestAdd
的测试函数,它调用了Add
函数并将结果与预期值进行比较。如果结果与预期不符,测试将失败,并输出错误信息。
main.go
和main_test.go
的目录,运行以下命令来执行测试:go test
如果测试通过,你将看到以下输出:
PASS
ok your_module_name 0.XXXs
如果测试失败,你将看到详细的错误信息。
注意:在实际项目中,你可能需要编写更多的测试用例来覆盖各种边界条件和异常情况。你可以使用testing
包提供的功能(如t.Run()
、t.Parallel()
等)来组织和优化你的测试代码。