我想在我的燒瓶api中的patch
方法,但它似乎沒有被替換的方法調用。 app.test_client()
是否在我缺少的引擎蓋下做了些什麼。單元測試行爲與補丁(燒瓶)
例如,如果我跑
@patch('k.stats.mstats')
def test_ps(self, mstats):
mstats.return_value = (1, 2, 3)
rv = self.app.get('/ps/')
,我通過調試運行下面的觀點:
@app.route('/ps/', methods=['GET'])
def ps():
import pdb
pdb.set_trace()
mstats()
和檢查mstats
,我會回來就是unmocked功能。
但是,如果我從斷點處運行k.stats import mstats
,那麼我找回了我正在尋找的模擬方法。
如何確保模擬方法被調用?
超級有用!關於您鏈接的'patch'文檔的解釋讓它點擊。瞭解你需要修補對象被查找而不是定義的地方,這就是我所得到的結果。 – wgardiner