這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。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]