现在的位置: 首页 > 综合 > 正文

go语言 功能测试和性能测试的示例

2017年12月21日 ⁄ 综合 ⁄ 共 847字 ⁄ 字号 评论关闭

F:./src
└─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]


抱歉!评论已关闭.