Python之Mock模块基本使用方法详解
什么是Mock模块
Mock(英文意为:模拟、假装)是Python中一个非常强大的测试模拟框架,Mock能够帮助我们更好地组织和测试代码。Mock可以非常方便地模拟测试中的数据、方法和对象。使用Mock,我们可以专注于测试成员接口的返回值和程序行为,而无需担心协作组件的真实实现。
安装Mock模块
Mock是Python的一个第三方库,可以使用pip安装
pip install mock
基本使用方法
导入mock模块
from unittest import mock
Mock一个对象
使用Mock模块可以轻松地Mock一个对象,例如:
m = mock.Mock()
print(m)
print(m.__str__())
print(m.__str__.return_value)
m.__str__.return_value = "Hello world!"
print(m)
输出:
<Mock id='140097041288784'>
<Mock name='mock.__str__()' id='140097039797776'>
<Mock name='mock.__str__.return_value' id='140097039799680'>
Hello world!
Mock一个函数
Mock一个函数和Mock一个对象使用方法类似:
def foo():
return 'bar'
m = mock.Mock()
m.side_effect = foo
print(m())
输出:
bar
添加测试
Mock模块可以用来单元测试,例如:
def function_to_test(x):
return x.upper()
import unittest
class MyTest(unittest.TestCase):
def test(self):
with mock.patch("__main__.function_to_test", return_value="moke test") as mock_upper:
result = function_to_test("abc")
mock_upper.assert_called_once_with("abc")
self.assertEqual(result, "MOCK TEST")
if __name__ == "__main__":
unittest.main()
结束语
以上就是Mock模块的基本使用方法示例,希望可以帮助到使用Python进行测试的程序员们。