Python的Mock模拟测试介绍(7)

发表于:2014-03-21来源:DiggerPlus作者:DiggerPlus点击数: 标签:模拟测试
下面是我们的测试用例, 它检查到我发送了信息,但并没有实际的发送出这条信息(到Facebook上): 123456789101112 import facebook import simple_facebook import mock import u

  下面是我们的测试用例, 它检查到我发送了信息,但并没有实际的发送出这条信息(到Facebook上):

1
2
3
4
5
6
7
8
9
10
11
12
import facebook
import simple_facebook
import mock
import unittestclass 
 
SimpleFacebookTestCase(unittest.TestCase):
 
    @mock.patch.object(facebook.GraphAPI, 'put_object', autospec=True)
    def test_post_message(self, mock_put_object):
        sf = simple_facebook.SimpleFacebook("fake oauth token")
        sf.post_message("Hello World!")        # verify
        mock_put_object.assert_called_with(message="Hello World!")

  就我们目前所看到的,在Python中用 mock 开始编写更加聪明的测试是真的很简单的.

  总结

  Python的 mock 库, 使用起来是有点子迷惑, 是单元测试的游戏规则变革者. 我们通过开始在单元测试中使用 mock ,展示了一些通常的使用场景, 希望这篇文章能帮助 Python 克服一开始的障碍,写出优秀的,能经得起测试的代码.

原文转自:http://www.diggerplus.org/archives/2704