Go单元测试

1. 传统方法的缺点 

2. 单元测试

package cal

//一个被测试函数
func addUpper(n int)  int {
	res := 0
	for i := 1; i <= n - 1; i++ {
		res += i
	}
	return res
}

//求两个数的查
func getSub(n1 int, n2 int) int {
	return n1 - n2
} 
package cal
import (
	"fmt"
	"testing" //引入go 的testing框架包
)

//编写要给测试用例,去测试addUpper是否正确
func TestAddUpper(t *testing.T) {

	//调用
	res := addUpper(10)
	if res != 55 {
		//fmt.Printf("AddUpper(10) 执行错误,期望值=%v 实际值=%v\n", 55, res)
		t.Fatalf("AddUpper(10) 执行错误,期望值=%v 实际值=%v\n", 55, res)
	}

	//如果正确,输出日志
	t.Logf("AddUpper(10) 执行正确...")

}

func TestHello(t *testing.T) {

	fmt.Println("TestHello被调用..")

}
package cal
import (
	_ "fmt"
	"testing" //引入go 的testing框架包
)

//编写要给测试用例,去测试addUpper是否正确
func TestGetSub(t *testing.T) {

	//调用
	res := getSub(10, 3)
	if res != 7 {
		//fmt.Printf("AddUpper(10) 执行错误,期望值=%v 实际值=%v\n", 55, res)
		t.Fatalf("getSub(10, 3) 执行错误,期望值=%v 实际值=%v\n", 7, res)
	}

	//如果正确,输出日志
	t.Logf("getSub(10, 3) 执行正确!!!!...")

}

3. 总结

 4. 示意图

猜你喜欢

转载自www.cnblogs.com/yzg-14/p/12235267.html