Python Mock 学习笔记
hello.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'liuzhijun'
import os
def rm(filename):
if os.path.isfile(filename):
os.remove(filename)
test_hello.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
import mock
from hello import rm
class RmTestCase(unittest.TestCase):
@mock.patch('hello.os.path')
@mock.patch('hello.os')
def test_rm(self, mock_os, mock_path):
mock_path.isfile.return_value = False
rm("any path")
print mock_os
self.assertFalse(mock_os.remove.called, "no call")
mock_path.isfile.return_value = True
rm("any path")
mock_os.remove.assert_called_with("any path")
if __name__ == '__main__':
unittest.main()
test_rm 函数的第一个参数有靠近该方法最近的那个装饰器提供。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论