Как установить тест laravel для перехода к имени сайта вместо localhost

Я пытаюсь написать несколько тестов для приложения. У меня есть сервер, настроенный на MAMP, на dev.myappnamehere.com.

Когда я запускаю тест (основанный на Laracasts Integrated), он терпит неудачу, потому что он ищет маршрут

 http://localhost/p/profile

Но что ему нужно сделать, это

 http://dev.myappnamehere/p/profile

Как я могу изменить это, чтобы он не искал по умолчанию локальный хост и вместо этого перешел на правильный путь?

Я попытался изменить это в тесте, но ничего не получил, и я не смог найти ответ через googling.

 <?php

 use Laracasts\Integrated\Extensions\Laravel as IntegrationTest;
 use Laracests\TestDummy\Factory as TestDummy;

 class ExampleTest extends TestCase {

/**
 * A basic functional test example.
 *
 * @return void
 */
public function testBasicExample()
{
    $this->visit('/')
    ->see('Login')
        ->type('[email protected]', 'email')
        ->type('password', 'password')
        ->press('Login')
        ->seePageIs('/p/profile');
  }

}

Ответ 1

Так вскоре после того, как я спросил, я наткнулся на ответ. В

 LaravelTestCase.php 

существует функция, называемая

  baseUrl() 

который задает искомый URL. Как только я изменил это, он выглядел в правильном месте. Этот файл был частью теста laracast, который я загрузил.

Ответ 2

Из Laravel 5.4 метод $baseUrl, похоже, больше не работает

Кроме того, попытка установить URL-адрес динамически с помощью \Config:set('app.url', 'http://dev.myappnamehere') тоже не работает, так как кажется, что Laravel кэширует корневой URL

Способ установки настраиваемого корневого URL-адреса:

\URL::forceRootUrl('http://dev.myappnamehere');

Ответ 3

Для Laravel 5, В каталоге tests должен быть файл с именем TestCase.php. В этом файле есть свойство $baseUrl. Обновите значение до нужного URL-адреса. Например, измените

protected $baseUrl = 'http://localhost';

к

protected $baseUrl = 'http://dev.myappnamehere';

Ответ 4

Измените APP_URL в вашем файле .env с localhost на нужный URL.

Пример: APP_URL =http://myproject.test

Ответ 5

Ниже ниже

$this->visit('http://dev.myappnamehere')