Пытаюсь понять как работает HTTP::fake в тестах.
Вот так пытаюсь имитировать ответ с тестовым html документом в тесте.
public function testChecks()
$html = file_get_contents(__DIR__ . '/../fixtures/test.html');
$fake = Http::fake(['test.ru' => Http::response($html)]);
$response = $this->post(route('route', $data['id']));
и ожидаю, что когда в экшене дойдет до этого места
$document = new DiDom\Document($url->name, true);
public function checks(Request $request, $id)
{
$url = DB::table('urls')->find($id);
try {
$check = Http::get($url->name);
} catch (\Exception $e) {
flash("Error: {$e->getMessage()}")->error();
return back();
}
$document = new DiDom\Document($url->name, true);
dd($document);
в $document будет тестовый Html помимо всего прочего, как если бы я сделал этот запрос на реальный сайт.
но до него даже не доходит, точнее на нем вылетает. т.к. dd($document); не выводится.
Я просто не пойму почему так? Что то не то делаю в fake? но не могу разобраться чего я не понимаю? А так при реальном запросе на реальный сайт все отрабатывает, только тест валится.