Как смоделировать жадный запрос для PHPUnit - PullRequest
0 голосов
/ 02 мая 2018

У меня есть такой класс:

class CategoryClient
{
    private $categories;

    /**
     * Constructor
     * Retrieves JSON File
     */
    public function __construct(Client $client)
    {
        $response = $client->request('GET', config('services.url'));
        $this->categories = collect(json_decode($response->getBody(), true));
    }
}

Как бы я посмеялся над ответом json для тестирования в PHPUnit? и установите переменную $this->categories?

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете использовать Mock Handler стратегии тестирования Guzzle и создать экземпляр класса Client. Как пример:

 $mock = new MockHandler([
            new Response(200, [], '{
                                      "categories": [
                                      { "id" : 1,
                                        "name": "category name 1"},
                                      { "id" : 2,
                                        "name": "category name 3"},
                                        ]
                                        }');

$handler = HandlerStack::create($mock);
$guzzleClient= new Client(['handler' => $handler]);

$categoryClient = new CategoryClient($guzzleClient);

Надеюсь, что эта помощь

...