go语言 功能测试和性能测试的示例
└─hello
hello.go
hello_test.go
hello.go
=========
package hello
import "fmt"
func Add(a, b int) (result int) {
return a + b
}
func main() {
fmt.Println("Hello, world. 你好,世界!")
c := Add(1, 2)
fmt.Println("c=", c)
}
hello_test.go
package hello
import (
"fmt"
"testing"
"time"
)
func TestAdd1(t *testing.T) {
fmt.Println("进行Add测试")
r := Add(1, 2)
if r != 2 { // 这里本该是3,故意改成2 测试错误场景
t.Errorf("Add(1, 2) failed. Got %d, expected 3.", r)
}
fmt.Println("其他测试测试") //添加其他测试
}
func BenchmarkAdd1(b *testing.B) {
fmt.Println("进行Add性能测试")
b.StopTimer() // 暂停计时器
time.Sleep(3) // 一个耗时较长的准备工作,比如读文件
b.StartTimer() // 开启计时器,之前的准备时间未计入总花费时间内
for i := 0; i < b.N; i++ {
Add(1, 2)
}fmt.Println("其他测试测试") //添加其他测试}
可以直接在liteIDE下直接用菜单上的来编译运行。
下面是命令行的形式
c:/go/bin/go.exe test [F:/golang/test/src/hello]
c:/go/bin/go.exe test -test.bench=.* [F:/golang/test/src/hello]
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。