monkeypatching

    0熱度

    1回答

    我想知道是否可以修改第三方功能(如猴子修補[wiki],[nice article]),以添加一些這些功能中間有幾行? 的我想要什麼 例子: 第三方(修補目標): var obj = { sum: function (a) { var b = 1; //Here I want to add a line: // b = 2 return a + b

    2熱度

    1回答

    我一直在尋找最簡單的解決方案,將所有日期時間值從API發送到特定請求者時,都將其轉換爲ISO 8601。我能夠猴補丁Time#to_json下列要求: class Time def to_json(options = {}) self.iso8601.to_json end end 並要求在before回調葡萄的文件時PARAMS表明請求是從所期望的位置來了。

    3熱度

    3回答

    將Sinon沙箱(或sinon實例)從外部傳遞到腳本作用域。內部功能(不是方法)可以選擇性地用Sinon沙箱窺探/存留。 Sinon在這裏參與了某種猴子修補(而不是單元測試).Sinon沙箱概念很好地滿足了用例 - 直到現在。 我從功能間諜不能用方法間諜替換的事實出發。這不是一個完美的場景,但設計無法改變。 const originalCallback = callback; callback

    1熱度

    2回答

    我想打類的副本,同時更新其所有的方法來指一組新的__globals__ 我想類似下面,但是不像types.FunctionType,爲types.UnboundMethodType構造不接受__globals__,任何建議如何解決這個問題? def copy_class(old_class, new_module): """Copies a class, updating __globa

    1熱度

    2回答

    說我想Entry元素不具有自動更正或自動大寫。這可以通過設置它的鍵盤屬性,像這樣做: new Entry { Keyboard = Keyboard.Create(0) } 現在,我怎麼做,對所有入境元素全局默認? 我知道我可以創建一個定製元素,從內置的元素繼承,並覆蓋的方式,像財產: public class EntryCustom : Entry { public EntryC

    0熱度

    1回答

    想知道是否有人有一個很好的方法來動態地檢查一個類的函數類型,然後動態地將修飾器修補到某些函數上。我正在嘗試這個,但沒有得到我期望的結果。通過課堂上的方法走路似乎正在工作,但做猴子補丁本身似乎失敗了。任何想法非常感謝! def decorator(callable): pass class Test(object): def foo1(self): return

    1熱度

    1回答

    我正在使用Xeroizer寶石,並且想要猴子補丁pull requests其中一個添加我需要的功能。 該請求有四個提交,其中一些涉及修補模塊內的類。是否有可能做到這一點,而不必分叉寶石,並永遠保持這種狀態(或直到這個拉動請求被合併的時間)? 我發現this計算器的問題是相似的,但並沒有完全覆蓋相同的情況下,和this後與轉接模塊的交易,但我嘗試到目前爲止已經結束了要麼打破了寶石或只是不工作。

    3熱度

    4回答

    我在Python 3.5.1上。 我寫了一個庫,並且在某些情況下(當文件直接運行時,即__name__ == '__main__'),我想在某個類中修飾某些方法。它應該修飾所有可以創建的實例。我想以非侵入性的方式來完成,理想情況下,我的圖書館中的類不需要任何特殊的代碼。 一段時間後,我成功地實施這樣的事情,這符合我的要求: def patch(clazz, name, replacement):

    0熱度

    1回答

    比方說,一個人想項目分配從國外庫添加到一個類的實例: # defined outside our code base class WeDoNotWantToDeriveThis(object): pass inst = WeDoNotWantToDeriveThis() def set_item_func(self, idx, val): print("hi there") impor

    1熱度

    1回答

    我想使用pytest monkeypatch插件,但我無法弄清楚如何導入它。我已經試過: import monkeypath import pytest.monkeypatch from pytest import monkeypatch