Здравствуйте, у меня есть метод, они находится внутри определенного класса, он:
- принимает на вход реквест и серализатор (через интерфейсы)
- сериализует реквест (устанавливая определныне поля auth) в xml
- через еще одну зависимость client (Psr\Http\Client\ClientInterface) отправляет полученный xml во внешний сервис
- получает ответ от сервиса в xml и мапит его на мой класс
/**
* @param RequestInterface $request
* @param SerializerInterface $serializer
*
* @return ResponseInterface
* @throws \Exception
*/
public function request(RequestInterface $request, SerializerInterface $serializer): ResponseInterface
{
try {
$request->setAuth($this->token);
$body = $serializer->serialize($request, 'xml');
$request = new \Nyholm\Psr7\Request('POST', $this->url, [], $body);
return $this->client->sendRequest($request);
} catch (ClientExceptionInterface $e) {
throw new \Exception($e->getMessage());
}
}
Запустил покрытие тестами, мне показывает что нужно тут покрыть, но что и как, какая практика?
понимаю что нужно писать моки, моки чего?
- $request и его метода setAuth
- $serializer и его метода serialize
- $client (зависимость через конструктор класса появляется (Psr\Http\Client\ClientInterface)) и его метод sendRequest
еще ошибку покрыть надо, не могу в голове уложить - что тут тестировать?
насоздавать моков и тестировать(ожд вызов метода по 1му разу, а какой тогда assert будет?