В моем методе тестирования есть:
$this->visitRoute('route.name')->see('something');
Ответ:
There was 1 failure:
1) Tests\Unit\MyTest::testRoute
A request to [http://localhost/route.name] failed. Received status code [500].
Caused by
PDOException: SQLSTATE[HY000]: General error: 1 no such table 'tableThatExists'
НО когда я тестирую:
$this->visit('/')
Как указано в документации Laravel, это работает, что не так?
А также, если я просто хочу проверить ответы без условия «увидеть», как мне это сделать?
Если кто-нибудь знает простые базовые модульные тесты laravel, это тоже может помочь
да, я видел это в учебнике, но я не совсем понимаю, зачем я это делаю
Можете показать определение маршрута?
Route :: resource ('Routename', 'DashRouteName');
Пожалуйста, добавьте определение маршрута к вашему вопросу.






Эта ошибка возникает из-за того, что тест приложения не находит базу данных.
Попробуйте с:
В phpunit.xml внутри тега php вам нужно установить тестовую базу данных, подобную этой
<php>
<env name = "APP_ENV" value = "testing"/>
<env name = "CACHE_DRIVER" value = "array"/>
<env name = "SESSION_DRIVER" value = "array"/>
<env name = "QUEUE_DRIVER" value = "sync"/>
<env name = "DB_CONNECTION" value = "sqlite"/>
<env name = "DB_DATABASE" value = ":memory:"/>
</php>
use Illuminate\Foundation\Testing\DatabaseMigrations;
в файле и
use DatabaseMigrations;
в классе
Вы используете базу данных
:memory:?