Тестирование вызова API, который вызывает другой URL - PullRequest
0 голосов
/ 19 апреля 2020

Я пишу несколько тестов для службы OAuth.

  1. Я отправляю запрос GET на мой Server#1 (Мой собственный сервер).
  2. Server#1 отправляет запрос Server#2 (не мой) на получение токена доступа.

Моя проблема в том, что я не могу создать действительные данные для Server#2, чтобы получить действительный ответ на запрос.

Как смоделировать ответ для Server#2 без насмешливого ответа для Server#1?

1 Ответ

0 голосов
/ 20 апреля 2020

Вам просто нужно передать проверяемый класс в указанный класс c и ожидать правильных результатов.

class Service1{

   public function __constructor(Service2 $service2){
        $this->service2 = $service2;
   }

   public function generateToken(){

     $token = $this->service2->getToken();
     return $token;
   } 
}
$mockedService2 = Mockery::mock(Service2::class);
$mockedService2->shouldReceive('getToken')->andreturn('AccessToken');
$service1 = new Service1($mockedService2);
$service1->generateToken();
...