Go 中測試的正確套件命名
為 Go 程式碼編寫測試時,有多種命名測試套件的策略。根據所需的測試類型,每種策略都有不同的優點和缺點。
策略 1:使用相同的套件名稱
在此策略中,測試檔案使用與正在測試的程式碼相同的套件名稱。這允許存取非導出標識符,使其適合需要此類存取的單元測試。但是,這可能會導致測試細節洩漏到套件的公共 API 中。
策略 2:使用單獨的套件名稱
這裡,測試檔案使用不同的套件名稱,通常會以「_test」字尾。這將測試程式碼與正在測試的程式碼分開,確保僅使用匯出的識別碼。它適合黑盒測試,重點是測試公共 API 的功能。
策略3:使用有點表示法的變體
此策略是與策略2 類似,但測試文件使用點符號導入包,例如“.' myfunc'」。這允許存取非導出的標識符,但它使測試代碼與被測試的代碼分開。它適合白盒測試,同時保持關注點分離。
Go 標準函式庫採用策略 1 和策略 2 的混合。使用哪種策略取決於測試的特定目的。白盒和黑盒測試都很有價值,分別需要存取非匯出或匯出的識別碼。
以上是Go 測驗的最佳套件命名策略是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!