1. 程式人生 > 其它 >Go語言 - Go單元測試

Go語言 - Go單元測試

任何程式都需要進行單元測試,以便在開發階段就能儘早發現bug,下面是一個Go語言的單元測試案例。

接上一次工程管理的專案,在 sub 目錄建立 add.go ,編寫一個加法函式:

package sub

/**
 * 計算num1 + num2的值
 */
func Add(num1 int, num2 int) int {
	return num1 + num2
}

在 add.go 專案的目錄下,新建 add_test.go(名稱為xxx_test.go,xxx為要測試程式的檔名稱),內容如下:

package sub

// 匯入測試需要使用的包
import "testing"

/**
 * 測試add.go的Add方法
 */
func TestAdd(t *testing.T)  { // t是go test時傳入的引數
	sum := Add(1, 2) // 呼叫 add.go中的Add函式進行測試
	if sum != 3 {
		t.Errorf("Add(1, 2) 測試失敗,返回值為%v, 1 + 2 應該等於 3", sum)
	}
}

執行測試:

cd sub # 切換到sub目錄
go test .

修改 add.go 讓錯誤發生:

package sub

/**
 * 計算num1 + num2的值
 */
func Add(num1 int, num2 int) int {
	return num1 + num2 + 1
}

再次執行 go test . ,結果如下:

==============================================================================
關注 公眾號 “HiIT青年” 傳送 “go” 獲取go安裝包。(如果沒有收到回覆,說明之前取消過關注。)


關注公眾號,閱讀更多文章。