4
試圖圍繞Spec和Autospec之間的區別。他們似乎差不多。具體來說,如果你看看mock.patch裝飾器。Python模擬Autospec vs規格
有人可以解釋何時使用哪些?
http://www.voidspace.org.uk/python/mock/patch.html
試圖圍繞Spec和Autospec之間的區別。他們似乎差不多。具體來說,如果你看看mock.patch裝飾器。Python模擬Autospec vs規格
有人可以解釋何時使用哪些?
http://www.voidspace.org.uk/python/mock/patch.html
spec
用作您的模擬對象的模板。用documentation表示:
如果使用spec或spec_set參數,則只會創建spec中存在的魔術方法。
這意味着您不能在模擬對象上調用不存在於您正在嘲笑的對象上的方法。該documentation解釋這是這樣的:
注意:如果您使用規範關鍵字參數來創建一個模擬然後嘗試設置一個神奇的方法,是不是在規範將引發AttributeError。
autospec
基本上是在對象的補丁傳遞到MagicMock
的spec
正在建立一個patch
的簡寫。文檔:
如果您設置autospec = True,則使用來自被替換的對象的規範創建模擬。