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

来源:互联网 发布:java面试试题及答案 编辑:程序博客网 时间:2024/05/29 19:29
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]


0 0
原创粉丝点击