使用 Go 和 Appengine 時,必須實作測試案例以確保程式碼功能。然而,由於存取 appengine 上下文的限制,使用標準 Go 測試包運行測試可能具有挑戰性。
如您所提到的,使用「go test hello.」將不會執行測試案例成功。問題在於無法從測試檔案「http_test.go」呼叫「http.go」檔案。
要解決此問題,您可以使用「 github.com/mzimmerman/appenginetesting」套件。此第三方函式庫提供了一個模擬 appengine.Context,讓您可以針對模擬的 Appengine 環境執行測試。
要安裝 appenginetesting,請依照下列步驟操作:
要在測試中使用appenginetesting,請匯入套件並建立一個模擬appengine.Context:
import "github.com/mzimmerman/appenginetesting" ... c := appenginetesting.NewContext(nil)
然後您可以在測試程式碼中使用「c」上下文,類似於使用實際的appengine.Context。但是,使用「defer c.Close()」手動關閉上下文以避免讓 Python 程序持續運行至關重要。
要避免從 appengine 直接匯入,請考慮建立自訂套件,該套件提供基於建置環境的上下文。使用建置標誌,您可以選擇為 Appengine 或測試環境載入哪個上下文實作。這種方法允許您維護存取上下文的一致接口,無論運行時如何。
以上是如何在App Engine環境中有效運行Go測試用例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!