fnsne
說 5 years ago @Edit 5 years ago
[每日一噗]
今天真的是很累的一天,為什麼呢?
因為我入職沒多久寫的技術債炸了
latest #8
那麼你覺得呢?
相依非常恐怖,一個class裡面作了超多事情,但又不是單純只用她來產生需要的data structure。反而這個class的幾個method會被那個data structure依序呼叫......好可怕的相依。
而且因為夾雜了超多東西,所以也不敢輕舉妄動。明明只是要把切換資源的演算法修改而已......
為了確保不會有問題,所以決定先寫測試。因為有些相依的東西插得很深,所以決定用 unittest.mock.patch 來做到類似extract function and override 的效果( 可以只修改部分相依的function,其他部分繼續使用原本的code )。
結果就是在這邊卡很久。unittest.mock.patch的寫法有好多種。結果我挑了個使用decorator的方式來寫......
因為搞不懂怎麼讓patch的function,可以被一個class private memberclass private member給操控,所以寫成decorator的方式。
但現在又看了一下mock,似乎可以用ptach裡面的new這個參數的樣子?!
back to top