@Drumsid

Тестирование с использованием Http::fake(); в Laravel 8?

Пытаюсь понять как работает 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? но не могу разобраться чего я не понимаю? А так при реальном запросе на реальный сайт все отрабатывает, только тест валится.
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы