Graham Dumpleton 推出了 wrapture,這是一款處於 alpha 階段的 Python 函式庫,透過猴子修補技術結合了單元測試與應用程式可觀測性功能。自 8 月 31 日發布以來,作者已每日發布教學文章,展示透過 TOML 設定檔進行零程式碼追蹤,以及與 Flask 和 Django 等主要框架的整合等功能。
此工具透過允許開發人員在不修改原始程式碼的情況下為程式碼添加儀器功能,解決了常見痛點,簡化了除錯與測試工作流程。其對眾多流行 Python 函式庫的廣泛相容性,使其成為開發人員用於監控與驗證的工具包中一個多功能的補充。
wrapture 建立在 wrapt 函式庫的安全猴子修補機制之上,支援對屬性、字典和生成器等非呼叫物件進行修補。它還提供 OpenTelemetry 匯出功能,並支援針對複雜測試情境的階段性行為配置。
事件背景
猴子修補是一種在 Python 等動態語言中使用的技術,用於在不修改原始程式碼的情況下,於執行階段修改或擴充類別或模組的行為。這在測試中特別有用,因為開發人員通常需要用模擬物件替換真實的依賴項,以隔離被測試的程式碼。New Relic 等可觀測性工具也使用類似概念,在不進行侵入式程式碼變更的情況下追蹤應用程式效能。



