Golang 测试多返回值函数的错误
package main
import (
"errors"
"fmt"
)
// 假设这是我们需要测试的函数,它返回两个值
func split(sum int) (int, int, error) {
if sum < 0 {
return 0, 0, errors.New("sum cannot be negative")
}
// 示例中简单地返回两个相等的值
return sum / 2, sum / 2, nil
}
func main() {
// 测试split函数
// 测试负数输入的情况
_, _, err := split(-10)
if err != nil {
fmt.Println(err) // 应该输出: sum cannot be negative
}
// 测试正数输入的情况
half1, half2, err := split(10)
if err != nil {
fmt.Println(err) // 不应该发生错误,所以这里不应该输出任何内容
} else {
fmt.Printf("The halves are: %d and %d\n", half1, half2) // 应该输出: The halves are: 5 and 5
}
}
这个代码实例提供了一个简单的函数split
,它模拟了一个可能返回错误的场景,并在main
函数中进行了测试。测试代码检查了split
函数在接收负数作为输入时是否返回正确的错误信息,以及在接收正数作为输入时是否能正常计算和返回结果。这是一个很好的教学示例,展示了如何在Go语言中测试多返回值函数的错误。
评论已关闭