處理具有多個檔案的Go 套件中的共用測試程式碼
在具有多個檔案的Go 套件中,通常為每個檔案建立單獨的測試檔案來源檔案。但是,當測試需要共享輔助函數時,這可能會導致程式碼重複。
解決方案:利用測試包共用識別碼
為了避免程式碼複製,Go 允許測試同一包子句中的檔案可以引用彼此的匯出和未匯出標識符,而無需明確導入語句。這意味著您可以將共用測試程式碼放置在任何測試檔案中,並且同一套件中的所有其他測試檔案都可以存取該程式碼。
範例結構
考慮一個包含以下檔案的套件:
mypackage/ mypackage.go mypackage_test.go helper_test.go
您可以在helper_test.go 中定義共享測試輔助函數,而不會污染生產代碼。
說明
儘管helper_test.go沒有直接導入到mypackage_test.go中,但由於匹配的package子句(package mypackage_test),它仍然屬於同一個測試包。這允許 mypackage_test.go 存取 helper_test.go 中聲明的標識符,從而實現程式碼共用和測試可維護性。
附加說明
以上是如何避免在多個檔案的Go包中測試程式碼重複?的詳細內容。更多資訊請關注PHP中文網其他相關文章!