前提
twitter APIと連携したサービスをlaravelで開発しています
実現したいこと
twitter APIにアクセスしてターゲットのユーザーの最新のツイートを
取ってくるメソッドを作りました。
このメソッドをモック化してそれ以降の処理をテストしたいです。
該当のソースコード
twitter API にアクセスするメソッド
PHP
1class makeUnfollowCheckClass 2{ 3function getLatestTweet(TwitterOAuth $twitter, $target_account_id){ 4 $targetParameters = [ 5 'user_id' => $target_account_id, // ユーザ名 6 'count' => 1, // ツイートの取得数 7 'include_rts' => false, // リツイートは含めない 8 ]; 9 10 $targetTweet = $twitter->get("statuses/user_timeline", $targetParameters); 11 12 return $targetTweet; 13 } 14}
このメソッドが登場するテストコード
PHP
1 $mock = \Mockery::mock(makeUnfollowCheckClass::class); 2 $mock 3 ->shouldReceive('getNewestTweet') 4 ->with($twitter, $target_account_id) 5 ->once() 6 ->andReturn([ 7 8 ]);
andReturnの部分で
twitter APIのツイート取得API(statuses/user_timeline)のJSONレスポンスを返すように実装することは可能でしょうか?
https://developer.twitter.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-user_timeline
補足情報(FW/ツールのバージョンなど)
Laravel v8.83.23
PHP v7.4.18
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。