![](/img/trans.png)
[英]How to replace an object inside a class being tested using unittest.mock in python
[英]How can mock object replace all system functionality being tested?
我是單元測試的新手。 目前,我在嘗試對Google oAuth Picasa身份驗證進行單元測試時遇到了麻煩。 如果我想對其進行單元測試,則涉及代碼的重大更改(是的,我在應用程序運行后開發了單元測試)。
我讀過,模擬對象可能是要走的路。 但是,如果我使用Mock,我怎么知道該功能(即Google oAuth Picasa身份驗證)確實有效?
或者,除了在應用程序完成后進行單元測試外,在理解Mock方面是否犯了其他錯誤?
當單元測試,你在隔離測試特定的單元(函數/方法...),這意味着你不在乎,如果你的函數使用,工作(因為有覆蓋的其他單元測試用例)等組成。
因此,回答您的問題-超出單元測試的范圍,例如Google oAuth之類的外部服務是否有效。 您只需要測試是否可以正確調用它,這就是Mock派上用場的地方。 它記住了您檢查並對其進行斷言的調用,但是它阻止了實際向外部服務/組件/庫/其他發出請求的請求。
編輯:如果您發現代碼過於復雜且難以測試,則可能表明應將其重構為更小,更易於管理的部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.