Remember to use [code]guzzlehttp/guzzle[/code] and not [code]guzzle/guzzle[/code]. The latter is an abandoned old version of guzzle, but you might find a dependency on it in an older codebase.

Although there's well known advice to 'not mock what you don't own'. I find myself quite often padding in a mock of guzzle to unit test code that connects to an external API, which generally seems to work very well for testing code like [code]$response = $client->post("/post");[/code]. And it's so much easier than it was with the old guzzle where you had to first get a request object from the client and and then send it.