BIOGRAPHYREADME2015.10.24Guzzleのレスポンスをモック化するユニットテストユニットテストを書く際、依存してるクラスやライブラリをモックに差し替えると思うが、PHPのHTTPライブラリであるGuzzleにはテスト用のモックを作る機能があらかじめ用意されている。公式ドキュメントにもちょろっと案内されているが、レスポンスボディを指定する方法は載っていなかったので紹介する。今回の想定として、request()メソッドが呼ばれた際にreturnされるHTTPレスポンスオブジェクトの内容をモック化するところを目指す。5分でできるモックの作り方モック化する具体的なオブジェクトは¥GuzzleHttp¥Clientにあたる。OKを返すだけのモックを作るには以下の様な感じ。200これで意図したレスポンスを返す¥GuzzleHttp¥Clientの完成!Responseの細かい内容をモック化するもちろん、ステータスコードだけでなく返ってくるBody部分やHTTPヘッダーをモック化したい時もある。そのときはResponseの引数に指定する。これがドキュメントに載ってなくて一瞬手が止まったけどコードを読んで解決。以下のGitHubのページに書いてあります。guzzle/psr7コードの該当部分を見てみるとコメントには以下のように書いてあります。Body部分はJSON文字列でHTTP1.1」のレスポンスを作りたかったら以下のように書く。'1.1');これをGuzzleHttp¥Handler¥MockHandlerに渡せばオッケー。簡単!!まとめGuzzleいい。