您当前的位置:首页 > 计算机 > 编程开发 > Python

Python Mock 学习笔记

时间:12-14来源:作者:点击数:

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 函数的第一个参数有靠近该方法最近的那个装饰器提供。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐