|
|
go 自动化测试
|
|
|
|
|
|
```
|
|
|
// a + b
|
|
|
func calcTriangle( a,b int) int {
|
|
|
var c int
|
|
|
c = int(math.Sqrt(float64(a*a + b*b)))
|
|
|
return c
|
|
|
}
|
|
|
|
|
|
package main
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
// go 自动识别,通过t 打印测试错误信息
|
|
|
func TestTriangle( t *testing.T){
|
|
|
tests :=[]struct{a,b,c int}{
|
|
|
{3,4,5},
|
|
|
{5,12,13},
|
|
|
{8,15,17},
|
|
|
{12,35,37},
|
|
|
|
|
|
}
|
|
|
|
|
|
for _ , tt := range tests {
|
|
|
if actual := calcTriangle(tt.a,tt.b); actual != tt.c{
|
|
|
t.Errorf("calcTriangle(%d, %d) ; got %d; expected %d",tt.a,tt.b,actual,tt.c)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
terminal 下测试
|
|
|
|
|
|
go test . //会执行当前目录下所有测试用例
|
|
|
|
|
|
如:
|
|
|
go test .
|
|
|
|
|
|
ok learngo/basic 0.742s
|
|
|
|