Go語言測試包概述


在這篇Go語言文章中,我們將學習使用兩個測試函式以及迭代方法來概述測試包。

測試分為兩種型別:手動測試和自動化測試。手動測試是根據預定義的測試用例手動進行的,而自動化測試則是建立程式程式碼來測試軟體。在這裡,我們將使用兩個測試函式以及迭代方法來展示測試包的重要性。

演算法

  • 步驟1 - 在程式中匯入所需的包

  • 步驟2 - 建立一個測試函式,其中將呼叫要測試的函式

  • 步驟3 - 使用測試用例檢查和分析函式,使用`go test`命令瞭解錯誤,如果未獲得錯誤,它將返回“透過”

示例1

在這個示例中,建立了兩個測試函式來了解被檢查函式中的錯誤。函式的結果將記錄在簡短的變數中,然後與正確的輸出進行匹配。

package mypackage

import "testing"

func Test_function(t *testing.T) {
	
   result := first_function()
   if result != "Hello, alexa!" {
      t.Errorf("Expected 'Hello, alexa!' but got '%s'", result)
   }
}

func Test_another_function(t *testing.T) {
	
   result := Another_function()

   
   if result != 64 {
      t.Errorf("Expected 64 but got %d", result)
   }
}

輸出

Pass

示例2

在這個示例中,將建立一個測試函式,其中將建立一些測試用例。然後,將迭代測試用例並在被呼叫函式上進行測試。

package mypackage

import (
   "math"
   "testing"
)

func Test_calculate_squareRoot(t *testing.T) {
	
   test_cases := []struct {
      input    float64
      expected float64
   }{
      {4, 2},
      {9, 3},
      {16, 4},
      {25, 5},
      {36, 6},
   }

   for _, testCase := range test_cases {
	
      result := CalculateSquareRoot(testCase.input)

		
      if math.Abs(result-testCase.expected) > 0.001 {
         t.Errorf("Expected %f but got %f", testCase.expected, result)
      }
   }
}

輸出

Pass

結論

我們執行並總結了測試包的實現過程。在第一個示例中,我們建立了兩個測試函式,在每個測試函式中,我們將函式的輸出與精確的輸出進行了檢查。在第二個示例中,我們建立了一個測試用例結構體並對其進行了迭代以檢查錯誤。

更新於:2023年5月3日

瀏覽量:136

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告