」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 猴子補丁能否解決Go不可變代碼庫的測試難題?

猴子補丁能否解決Go不可變代碼庫的測試難題?

發佈於2025-04-30
瀏覽:766

在GO中進行補丁:一個不變的代碼bases Can Monkey Patching Solve Go's Unchangeable Code Base Testing Problems?
面對類似的情況,建議的方法涉及創建自定義界面作為圍繞無法解碼的代碼的包裝器創建一個自定義界面。這使您可以在完整的原始代碼完整時模擬測試中的特定方法。

int,錯誤) } 鍵入混凝土結構{ 客戶 *somepackage.client } func(c *混凝土)dosomething(i int)錯誤{ 返回c.client.dosomething(i) } func(c *concrete)dosomethingelse()([] int,error){ 返回c.client.dosomethingelse() }

此方法提供了一種測試特定功能的方法,而無需修改基礎代碼。 另外,如註釋中所建議的,您還可以直接嵌入所需的類型而不是創建單獨的接口。這使您可以選擇性地僅模擬所需的方法: *somepackage.client } [&& && && && &&華

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3