Транзакции базы данных не найдены — Lumen

Я писал тесты в lumen, но мне нужно перейти на другую машину, поэтому я пытался все настроить. Я скопировал свои тесты, но я получаю эту ошибку во всех из них, когда запускаю их

 [Symfony\Component\Debug\Exception\FatalErrorException]
 Trait 'Laravel\Lumen\Testing\DatabaseTransactions' not found

Я думаю, что у меня установлен люмен, так как для компоновщика команд требуется «laravel/installer». Есть ли что-то, что я должен сделать?

Редактировать: я посмотрел версию, которая работала на моей старой машине, и этот код был в верхней части app.php в папке начальной загрузки.

try {
(new Dotenv\Dotenv(__DIR__.'/../'))->load();
} catch (Dotenv\Exception\InvalidPathException $e) {
//
}

Я вставил это в начало app.php на моей новой машине, и эта ошибка перестала появляться, и теперь я смог запустить тест. К сожалению, новая ошибка возникает, когда у меня есть только пример теста по умолчанию.

1) ExampleTest::testBasicExample
   Error: Call to undefined method ExampleTest::visit()

Я предполагаю, что мне все еще не хватает чего-то из lumen/laravel


person Niall    schedule 14.03.2016    source источник


Ответы (2)


Эта команда предназначена для установщика Laravel. Команда для установщика Lumen:

composer require "laravel/lumen-installer"

Однако даже в этом случае устанавливается только установщик. Вам все еще нужно запустить команду для создания новой установки (например, lumen new my-site).

Существует много неясностей относительно того, что вы пытаетесь сделать и что вы пытались сделать.

Как правило, при установке вашего сайта на новую машину вам нужно просто клонировать репозиторий (или скопировать свой код) и выполнить composer install.

person patricus    schedule 15.03.2016
comment
Извините за двусмысленность, которую я пытался клонировать. - person Niall; 16.03.2016
comment
Если я клонирую его и просто выполняю установку композитора, я получаю сообщение об ошибке, что композитор не может найти файл composer.json, потому что папка поставщика и другие файлы, похоже, не генерируются, пока я не сделаю что-то вроде composer require laravel/lumen-installer - person Niall; 16.03.2016
comment
@Niall Вы должны добавить свой файл composer.lock в свой репозиторий. Если вы создаете библиотеку, вы можете проигнорировать ее, но, поскольку это репозиторий для вашего приложения, вы хотите иметь ее, чтобы вы могли клонировать свой код где угодно, делать composer install и знать, что точно такие же версии вашего зависимости будут сняты. - person patricus; 16.03.2016

Попробуйте следующее:

composer cache clean
composer update
composer dump-autoload
person Community    schedule 14.03.2016
comment
Проверьте, не осталось ли чего-нибудь в ваших каталогах bootstrap/cache или storage. - person ; 14.03.2016
comment
Насколько я могу судить, все выглядит нормально - person Niall; 14.03.2016