У меня есть тест единицы в Laravel для тестирования вызова API, который выглядит так, однако я получаю следующее сообщение об ошибке выполнения при его запуске:PHPUnit Laravel Hash нет в наличии
RuntimeException: A facade root has not been set.
Я создаю пользователь в методе установки, с намерением удалить его снова в методе tearDown(), затем запустите мой тест auth.
Во-первых, есть ли лучший способ сделать то, что я хочу? Например, издеваясь над пользователем, не касаясь базы данных? А во-вторых, как установить «корень фасада» или что означает эта ошибка? Я попытался не беспокоиться о хэш-адресе этого конкретного поля для создания пользователя Dummy, но, похоже, ошибка переместилась к модели, где (опять же) используется класс фасада Hash.
Есть ли какие-либо дополнительные шаги для настройки среды, чтобы эти фасады можно было использовать при тестировании?
Заранее спасибо.
use Illuminate\Support\Facades\Hash;
/*
* Make sure the structure of the API call is sound.
*/
public function testAuthenticateFailed()
{
$this->json('POST', $this->endpoint,
[ 'email' => '[email protected]',
'password' => 'password',
])
->seeJsonStructure([
'token'
]);
}
//create a user if they don't already exist.
public function setup()
{
$user = User::create([
'company_id' => 9999,
'name'=>'testUser',
'email' => '[email protected]',
'password' => 'password',
'hashed_email' => Hash:make('[email protected]'),
]);
}
ли вы проверяете расширения TestCase Laravel в? –
@RossWilson yep, extends TestCase – Paul