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...