package mainimport "fmt"func main() { fmt.Println(GetFibonacci(6)) sum := GetNum(10) fmt.Println(sum) getRecursion := GetRecursion(10) fmt.Println(getRecursion) fbNum := GetFbNum(10) fmt.Println(fbNum)}/**递归就是自己调自己递归一定要有终止条件,否则就会无限循环*/func GetFibonacci(n int) int { // 如果是第0项或者第2项直接返回1 if n == 0 || n == 1 { return 1 } else { return GetFibonacci(n-1) + GetFibonacci(n-2) }}/**使用非递归实现斐波那契数列*/func GetFbNum(n int) int { a := 1 b := 1 c := a + b for i := 1; i <= n; i++ { a = b b = c c = a + b } return a}/**使用循环来实现自然数之和*/func GetNum(n int) (sum int) { for i := 1; i <= n; i++ { sum += i } return}/**使用递归来实现自然数求和*/func GetRecursion(n int) (sum int) { if n == 1 { return 1 } else { return n + GetRecursion(n-1) }}
然后我们需要在创建一个test_test.go的文件代码如下 package mainimport "testing"/**测试斐波那契数列*/func TestGetFibonacci(t *testing.T) { fibonacci := GetFibonacci(6) if fibonacci != 13 { t.Errorf("测试失败") return } t.Logf("成功")}func TestGetRecursion(t *testing.T) { mMap := make(map[int]int) mMap[10] = 55 mMap[100] = 5050 for key, value := range mMap { if GetRecursion(key) != value { t.Errorf("测试失败") return } } t.Logf("测试成功 ")}
文件目录结构 只需要把这俩个文件放在一个包里即可
在上边我们可以看到在test_test.go的文件里,我们都用了Test开头,然后后边是Test.go里边的方法名。然后在调用Test.go的方法,用来做测试
测试然后就会获得测试结果,对于go 的单元测试使用还是很简单的 博主微信欢迎交流
@H_502_574@
总结以上是内存溢出为你收集整理的【GO】单元测试全部内容,希望文章能够帮你解决【GO】单元测试所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)