前提・実現したいこと
Laravel でテストを書いています。
テスト自体初めて書くので、まだ分かっていないことが多いのですが、下記のように、メソッド内でリクエストを投げる処理がある場合、そのメソッドのテストはどのように書くのが一般的でしょうか?
実際にアクセス可能な URL を使うものでしょうか?
それとも、モックを用意したりするのでしょうか?
ご教授お願いします。
php
1<?php 2 3namespace App\Model; 4 5use Illuminate\Support\Facades\Http; 6use Exception; 7 8class Hoge 9{ 10 public function getText(string $url, ?string $user, ?string $password, string $ua): bool 11 { 12 $header = ["User-Agent" => $ua]; 13 $httpObject = $user && $password ? Http::withBasicAuth($user, $password)->withHeaders($header) : Http::withHeaders($header); 14 15 try { 16 $response = $httpObject->get($url); 17 if ($response->ok()) { 18 return $response->body(); 19 } 20 } catch (Exception $e) { 21 return false; 22 } 23 24 return false; 25 } 26}
補足情報(FW/ツールのバージョンなど)
PHP 7.4.6
Laravel 7.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。