go 測試的基本規則和流程

2021-09-12 19:10:46 字數 2142 閱讀 1398

測試原始碼檔案的主名稱應該以被測試原始碼檔案的主名稱為前導,並且以」_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.網際網路企業 網際網路企業的技術開發部主要包括產品部 開發部 測試部 運維部等,而在這之中,有著不同的職位角色,主要責任包括 架構師 通常需要多年的經驗,能夠設計系統架構,並保證架構的穩定性 可擴充套件性 效能等多項指標的可用性與優越性。產品部 網際網路公司的產品部通常來...