J'ai une application Node qui se connecte aux API Twitter REST et streaming. Afin de tester le code qui fait la demande à l'API REST, je peux utiliser Nock pour intercepter la requête HTTP et renvoyer des données fausses comme ceci:Comment renvoyer des données fictives à partir des demandes envoyées à l'API Twitter Streaming dans le nœud
var nock = require('nock')
var mockData = [...]
nock('https://api.twitter.com/1.1')
.get('/search/tweets.json')
.reply(200, mockData)
Mon application se connecte également à l'extrémité de l'API de streaming statuses/filter et effectue une analyse sur les tweets reçus via l'API de streaming. In Nock's README il indique que vous pouvez passer une fonction à .query()
qui renvoie un flux, mais je n'ai pas réussi à faire fonctionner cela. Comment puis-je retourner les données fictives des demandes à ce point de terminaison en utilisant Nock (ou une autre bibliothèque si nécessaire)? Je voudrais idéalement être en mesure d'envoyer des tweets au flux dans mes tests chaque fois que je dois, par exemple:
it('should correctly process tweets coming in on the streaming API',() => {
var mockTweet = {...}
sendMockTweetToStream(mockTweet)
...verify that the mock tweet was received and processed
})