美文网首页py.test+mock
使用Mock做Python单元测试

使用Mock做Python单元测试

作者: 程序员的名义 | 来源:发表于2017-05-31 21:02 被阅读42次

大家都知道当我们测试一些复杂依赖其它系统的方法时Mock是很重要的手段,比如说下面的function A它的结果是依赖于function B的返回结果的:

def A():
    ret = B()
    if ret:
        return Ture
    else:
        <error handling>
        return False

假设function B很费时间,最致命的是B来自其它模块你有可能不能随心所欲地测试function A的所有分支——因为有想要B按你的要求输出结果测试数据将很难准备,这个时候Mock就可以帮到你了!

from mock import patch, MagicMock
@patch('B')
def test_function_A(self, mock_B):
    mock_B.return_value = True
    self.assertEqual(True, A())

看到没,使用Mock, 你可以直接设定B的返回值,从此测试function A的时候你不用再费心让function B返回你想要的结果!
   

相关文章

网友评论

    本文标题:使用Mock做Python单元测试

    本文链接:https://www.haomeiwen.com/subject/qhljfxtx.html