mock的詳細用法(英文介紹):
本文先對函式的mock方法進行演示。
假設有檔案fun1和fun2,fun2中的函式呼叫了fun1中的函式。利用mock方法生成fun1中函式的乙個fake返回值,在此基礎上,對fun2中的函式進行單元測試。
**如下:
fun1檔案
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# fun1.py
defflag
():return
1
fun2檔案
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# fun2.py
import fun1
defadds
(a,b,c):
if fun1.flag():
return (a+b+c)
else:
return (a+b)
對fun2利用mock測試檔案:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# mocktest.py
from fun2 import adds
import mock
import unittest
class
addtestcase
(unittest.testcase):
@mock.patch('fun2.fun1')
deftest_adds
(self, mock_fun1):
# 設定fun2中呼叫fun1中的flag為0
# 則呼叫fun2中的函式adds返回a+b
print ("設定fun2中呼叫fun1中的flag為0")
print ("則呼叫fun2中的函式adds返回前兩個引數的和")
mock_fun1.flag.return_value = 0
num = adds(1,2,3)
self.assertequal(num,3)
# 設定fun2中呼叫fun1中的flag為1
# 則呼叫fun2中的函式adds返回a+b+c
print ("設定fun2中呼叫fun1中的flag為1")
print ("則呼叫fun2中的函式adds返回三個的和")
mock_fun1.flag.return_value = 1
num = adds(1, 2, 3)
self.assertequal(num, 6)
關於類的mock用法,後續更新~ python unittest基礎用法
unittest 執行例項 基礎用法 import unittest 匯入unittest模組 defcalc a,b 被測的方法 return a b class testcale unittest.testcase 必須要整合unittest的testcase方法 deftest1 self r...
Python unittest學習筆記
python標準庫中的模組unittest提供了 測試工具。單元測試用於核實函式的某個方面沒問題 測試用例是一組單元測試,這些單元測試一起核實函式在各種情形下的行為都符合要求。良好的測試用例考慮到了函式可能收到的各種輸入,包含針對所有這些情形的測試。全覆蓋式測試用例包含一整套單元測試,涵蓋了各種可能...
python unittest測試框架介紹
介面測試隨著測試用例變多,需要構建測試用例和測試集合,就需要測試框架來完成這些工作。unittest自帶的測試框架。單個檔案測試 test 001.py import unittest class test unittest.testcase def setup self print setup d...