Python 来自twitter api的vcr.py商店调用
我想使用和检查API请求或 第30行: 后来:Python 来自twitter api的vcr.py商店调用,python,testing,vcr,Python,Testing,Vcr,我想使用和检查API请求或 第30行: 后来: res = requests.post(url='https://api.twitter.com/oauth2/token', data={'grant_type': 'client_credentials'}, headers=post_headers) # ... etc ... 但是当你做一些类似的事情时: from vcr_unittest impor
res = requests.post(url='https://api.twitter.com/oauth2/token',
data={'grant_type': 'client_credentials'},
headers=post_headers)
# ... etc ...
但是当你做一些类似的事情时:
from vcr_unittest import VCRTestCase
import vcr
import twitter
from django.conf import settings
class TwitterRetrievalAndStorageTests(VCRTestCase):
@vcr.use_cassette()
def test_recorded_session(self):
api = twitter.Api(
consumer_key=settings.TWITTER_CONSUMER_KEY,
consumer_secret=settings.TWITTER_CONSUMER_SECRET,
access_token_key=settings.TWITTER_ACCESS_KEY,
access_token_secret=settings.TWITTER_ACCESS_SECRET)
statuses = api.GetUserTimeline(screen_name='nntaleb')
for s in statuses:
print(s)
未创建磁带文件。有没有办法用python twitter做到这一点?VCRTestCase构建在vcr之上。同时使用两者没有多大意义。如果删除行@vcr.use_CASEX,您应该会在cwd中看到名为TwitterRetrievalAndStorageTests.test_recorded_session.yaml或json的磁带。相反,如果您没有从VCRTestCase继承并使用@vcr.use\u CASEX,则CASEX名称应为test\u recorded\u session.yaml,并且应与您的类位于同一文件夹中 一般来说,如果同时使用这两种方法,我注意到vcr优先于vcrpy unittest,但情况并非始终如此
from vcr_unittest import VCRTestCase
import vcr
import twitter
from django.conf import settings
class TwitterRetrievalAndStorageTests(VCRTestCase):
@vcr.use_cassette()
def test_recorded_session(self):
api = twitter.Api(
consumer_key=settings.TWITTER_CONSUMER_KEY,
consumer_secret=settings.TWITTER_CONSUMER_SECRET,
access_token_key=settings.TWITTER_ACCESS_KEY,
access_token_secret=settings.TWITTER_ACCESS_SECRET)
statuses = api.GetUserTimeline(screen_name='nntaleb')
for s in statuses:
print(s)