1 回答
TA贡献1900条经验 获得超5个赞
由于您的问题涉及面很广,因此我仅介绍您:
为了在python中进行模拟,有一个名为Mock的库,文档非常详细
使用Mock进行Python单元测试
您最喜欢的Python模拟库是什么?
下面是使用模拟到模拟的一个简单的例子中的python-twitter上的GetSearch
方法:
test_module.py
import twitter
def get_tweets(hashtag):
api = twitter.Api(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token_key='access_token',
access_token_secret='access_token_secret')
api.VerifyCredentials()
results = api.GetSearch(hashtag)
return results
test_my_module.py
from unittest import TestCase
from mock import patch
import twitter
from my_module import get_tweets
class MyTestCase(TestCase):
def test_ok(self):
with patch.object(twitter.Api, 'GetSearch') as search_method:
search_method.return_value = [{'tweet1', 'tweet2'}]
self.assertEqual(get_tweets('blabla'), [{'tweet1', 'tweet2'}])
您可能应该在单元测试中模拟整个Api对象,以便仍然调用它们unit tests。希望能有所帮助。
添加回答
举报