mock模組學習

2021-10-24 04:12:52 字數 810 閱讀 1951

mock模組的作用

在mock模組中,兩個常用的型別為mock,magicmock,兩個類的關係是magicmock繼承自mock,最重要的兩個屬性是:return_value,side_effect

from mock import  mock

fake_obj = mock(

)fake_obj.return_value =

'this is a mock object'

res = fake_obj(

)print

(res)

可以通過mock()建立乙個mock物件,通過return_value指定它的返回值。即當下文出現fake_obj()會返回return_value所指定的值。也可以通過side_effect指定它的***,這個***就是當你呼叫這個mock物件會呼叫的函式,也可以選擇跑出乙個異常,來對程式的錯誤狀態進行測試:

from mock import  mock

fake_obj = mock(

)defb(

):print

('this is b'

)fake_obj.side_effect = b

fake_obj(

)fake_obj.side_effect = keyerror(

'this is b'

)fake_obj(

)

如果要模擬乙個物件而不是函式,你可以在mock物件上新增屬性和方法,並且每乙個新增的屬性都是乙個mock物件,也就是說可以對這些屬性進行配置,並且可以一直遞迴的定義下去:

使用mock模組來幫助python測試

相比較於unittest,nose這類測試類庫,mock給我的感覺是完全不一樣的。剛開始看mock是因為openstack中的測試用到了它,翻閱其文件時候完全不清楚他是幹嘛的。直到看到了 這篇文章,才發現mock可以解決我很多實際的問題。這裡小秦就記錄下mock的實際使用場景的乙個例子,方便和我之前...

unittest學習記錄mock 04

1.什麼是mock unittest.mock是乙個用於在python中進行單元測試的庫,mock翻譯過來就是模擬的意思,顧名思義這個庫的主要功能是模擬一些東西。它的主要功能是使用mock物件替代掉指定的python物件,以達到模擬物件的行為。學過python自動化的對unittest並不陌生,un...

node學習 Mock模擬資料

mockjs在前面我們已經了解過了,其主要作用就是模擬資料。如果我們自行開發專案時,需要配合一些資料,此時如果手動新增的話,太繁瑣。於是都會使用mockjs。這裡只要閱讀下mockjs官方文件即可了解mockjs的使用方法。首先需要npm install mockjs並引入 const mock r...