測試原始碼檔案的主名稱應該以被測試原始碼檔案的主名稱為前導,並且以」_test「為字尾。
go 語言對測試函式的名稱和簽名的規定:
只有測試原始碼檔案的名稱對了,測試函式的名稱和簽名也對了,執行「go test 目錄」命令時,測試**才會被執行。
demo.go
package main
import (
"fmt"
"errors"
"flag"
)var name string
func init()
func main()
fmt.println(greeting, introduce())
} func hello(name string) (string, error)
return fmt.sprintf("hello, %s!", name), nil
}func introduce() string
demo_test.go
package main
import (
"fmt"
"testing"
)func testhello(t *testing.t)
if greeting != ""
name = "robert"
greeting, err = hello(name)
if err != nil
if greeting == ""
expected := fmt.sprintf("hello, %s!", name)
if greeting != expected
t.logf("the expected greeting is %q.\n", expected) // 常規測試日誌,加引數 -v 可看到
}func testintroduce(t *testing.t)
t.logf("the expected introduce is %q.\n", expected)
}
./ 表示當前目錄
改一下 demo.go
加上 -v,可看到 t.log 和 t.logf 列印的常規測試日誌。
-bench=. 中的 . 表示要執行任意名稱的效能測試函式。
-run=^$ 用於表面需要執行那些功能測試函式,^$ 表示只執行名稱為空的功能測試函式,即不執行功能測試函式。
如果不加 -run,表示執行被測試**包中的所有功能測試函式。
結果中,benchmarkadd-8 為單個效能測試的名稱,使用的最大邏輯 cpu 個數為 8。
2000000000 為被測函式的被執行次數。
go test 命令會先嘗試把 b.n 設定為 1,如果測試函式的執行時間沒有超過上限(預設為 1s),則增大 b.n 的值,繼續測試,直到時間 >= 上限為止。
b.n 是被測函式的執行次數,而不是效能函式的執行次數。
go test 的其它引數:
-cpu,指定邏輯 cpu 數。
-count,用於重複執行測試函式的次數。
-parallel,設定同一被測**包中的功能測試函式的最大併發執行數。
GO基本規則
工作區是放置go原始碼檔案的目錄 一般情況下,go原始碼檔案都需要存放在工作區中,但對於命令原始碼檔案,這不是必須的 用於存放原始碼檔案 以 包為組織形式 用於存放歸檔檔案 名稱以.a為字尾的檔案 用於存放當前工作區中的go程式的可執行檔案 當環境變數gobin已有效設定時,該目錄會變的無意義 當g...
測試基本流程
整理日常測試工作中的基本流程,梳理測試思路 以下分三個方向說明不同專案的測試基本流程,一般包括需求評審 編寫測試大綱 測試用例 測試計畫 執行測試 過程匯報 測試報告 測試總結等。一 立項專案流程 1 1 首先要有必備的素質,包括溝通能力 表達能力 邏輯思維能力 團隊協作能力 處理日常事務和突發事件...
軟體測試的流程和基本方法
一 軟體公司的人員構成 1.網際網路企業 網際網路企業的技術開發部主要包括產品部 開發部 測試部 運維部等,而在這之中,有著不同的職位角色,主要責任包括 架構師 通常需要多年的經驗,能夠設計系統架構,並保證架構的穩定性 可擴充套件性 效能等多項指標的可用性與優越性。產品部 網際網路公司的產品部通常來...