golang分層測試之語言入門
前言
- go語言(golang) 是一個開源的程式語言,它能讓構造簡單、可靠且高效的軟體變得容易,作為測試人員,常常以Python作為自己的測試指令碼或測試工具主要的實現語言,但是Python始終有其限制性,尤其是在效能方面,所以學習一門高效能的語言可以彌補測試人員在語言方面的豐富度,從本文開始,接下來會以一個系列的形式,通過go語言來進行分層測試,從單元,介面,功能以及效能的測試立足於go語言上進行講解
入門慣例
- 每一門機器語言的入門,都會經歷一下向世界問好的階段,於是我們也用golang弄個hello world
package main import "fmt" func main() { fmt.Println("Hello, World!") }
- 我們以python作為參考對比,package main相當於宣告這是主模組,就像python的main模組
if __name__=="__main__":
- import 是golang匯入模組或依賴的主要關鍵字,一般情況下都會使用到fmt模組,這是golang最基本的依賴模組,最後輸出的結果為:
$ go run hello.go Hello, World!
- 執行golang程式碼,用go run命令+go執行檔名即可
- 關於其他go語言的基本入門可參考以下連結的記錄:ofollow,noindex">go語言入門教程
- 本文主要講解下go語言中的結構體和指標
結構體 struct
- Go 語言中陣列可以儲存同一型別的資料,但在結構體中我們可以為不同項定義不同的資料型別。
- 結構體是由一系列具有相同型別或不同型別的資料構成的資料集合
- 和麵向物件對比,可以將結構體簡單地認為是沒有方法的類,結構體一般只定義當前結構體的屬性,比如
type Books struct { title string author string subject string book_id int }
- 這是書本的結構體,包含有字串型別的書名、作者以及分類,還有整型的書本id,這樣由不同的資料構建的一個表示書本的資料集合,這個就是golang中的結構體,也是在接下來的講解中會經常用到
指標 pointer
- 一個指標變數指向了一個值的記憶體地址。
- 類似於變數和常量,在使用指標前你需要宣告指標。指標宣告格式如下
var var_name *var-type
- 在golang的使用中如下
package main import "fmt" func main() { var a int= 20/* 宣告實際變數 */ var ip *int/* 宣告指標變數 */ ip = &a/* 指標變數的儲存地址 */ fmt.Printf("a 變數的地址是: %x\n", &a) /* 指標變數的儲存地址 */ fmt.Printf("ip 變數儲存的指標地址: %x\n", ip ) /* 使用指標訪問值 */ fmt.Printf("*ip 變數的值: %d\n", *ip ) }
以上例項執行輸出結果為:
a 變數的地址是: 20818a220 ip 變數儲存的指標地址: 20818a220 *ip 變數的值: 20
- 在接下來的講解中,會經常用到指標變數,在這裡先簡單帶過,在之後的文章裡面在繼續深入的應用和了解
系列內容
-
簡單介紹了以下golang之後,接下來的文章會介紹各種基於go語言開發的測試工具或測試平臺,以實現基於go語言分層測試的一套測試體系,其中包括以下框架或工具:
- 單元測試:gocheck
- 介面測試:httptest
- Mock:gomock
- 自動化測試:testing
- 效能測試:go test -bench 、vegeta
- 效能監控:go tool pprof
-
一是希望接下來自己能堅持學習寫下去,二是希望你看了我的文章會有所收穫,謝謝了